Changes

Jump to: navigation, search

User:Jamesboston/nsIProcess

3,683 bytes added, 13:31, 5 March 2010
Name of Project
=Name of Project=
Fix nsIProcessnsIProcess2 '''Currently on hiatus.'''
=Description=
The Replace the existing [http://developer.mozilla.org/en/NsIProcess nsIProcess] API will be given a interface with new spec interface that includes inter-:* supports Unicode on all platforms* supports piping to and from processes* can handle asynchronous I/O via callbacks* is available through Components.utils.import("resource://gre/process communication and then implemented.js") or a similar JS module approach.
=People===Leader==
[[User:jamesboston|James Boston]]
==Contributors==Steve Lee ==Mentors==Mark Finkle, Benjamin Smedberg, Ted Mielczarek, Jason Orendorff =News and updates= ==Blog==All posts are tagged 'nsIProcess':<br />http://jamesboston.ca/cms/taxonomy/term/16 Or an RSS feed of the same:<br />http://jamesboston.ca/cms/taxonomy/term/16/0/feed ==News and Progress== '''Currently on hiatus. Work will resume after final exams in Decemeber 2009.''' <small>(Click dates for attachments or info)</small> [https://wiki.mozilla.org/NsIProcess Sept 21, 2008]: A first draft (an alpha version really) of the API is posted. [http://jamesboston.ca/cms/node/66 Sept 22, 2008]: Released an updated version of an extension that serves as a temporary work around for nsIProcess bugs.  [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#attach_340506 Sept 25, 2008]: Submitted patch to bugzilla. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#attach_341723 Oct 3, 2008]: Submitted revised patch to bugzilla. [https://bugzilla.mozilla.org/show_bug.cgi?id=459572 Oct 12, 2008]: Opened a bug on NSPR lack of unicode support for Unicode arguments. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c9 Nov 11, 2008]: Submitted a new patch to bugzilla with Unicode support for Windows. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c11 Nov 23, 2008]: Submitted a new patch to bugzilla with isRunning() method. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c15 Jan 25, 2009]: Submitted a new patch with unit tests. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c17 Mar 5, 2009]: Submitted a new patch with minor revisions. The bug has now also been marked ''blocking‑fennec''. [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c26 Mar 9, 2009]: Changed interface to return void on run. None [https://bugzilla.mozilla.org/show_bug.cgi?id=442393#c27 Mar 12, 2009]: Patch pushed to mozilla-central. (yetFollowed by a minor bustage fix.[https://bugzilla.mozilla.org/show_bug.cgi?id=484246 Mar 19, 2009]: Filed a new enhancement bug that ties together the various features in the next stage of development. =Downloads= The code will be done in trunk. To get changeset:  hg pull http://hg.jamesboston.ca/mozilla/gsoc Or to generate a plain text patch file containing all deviations from trunk visit:<br />http://jamesboston.ca/misc/patch.cgi
=Details=
The API for [http://developer.mozilla.org/en/NsIProcess nsIProcess] is not fully implemented on Win32 and OSX and not at all on Linux. At present, the PID of a created process is not retained and cannot be killed. The API would also benifit from a new spec that includes inter-process communication.
An example of an API that for creating processes and communicating with them through STDIN/STDOUT is the Python subprocess module:
==Existing Code==
http://mxr.mozilla.org/mozilla-central/source/xpcom/threads/nsIProcess.idl<br />http://mxr.mozilla.org/mozilla-central/source/xpcom/threads/nsProcess.h<br />http://mxr.mozilla.org/mozilla-central/source/xpcom/threads/nsProcessCommon.cpp<br />http://mxr.mozilla.org/mozilla-central/source/xpcom/tests/unit/test_nsIProcess.js
==Relevant bugs==
 Implement a replacement for nsIProcess<br />https://bugzilla.mozilla.org/show_bug.cgi?id=484246 nsIProcess.kill() does not work on Win32<br />https://bugzilla.mozilla.org/show_bug.cgi?id=442393 Implement inter-process communication (IPC) in Mozilla<br />
https://bugzilla.mozilla.org/show_bug.cgi?id=68702
PR_CreateProcess in NSPR needs unicode support<br />https://bugzilla.mozilla.org/show_bug.cgi?id=News 459572 ==Submitted patches== [https://bugzilla.mozilla.org/attachment.cgi?bugid=442393&action=viewall Bug 442393 patches]: Patches submitted to fix Bug 442393 - nsIProcess.kill() does not work on Win32 ==Meetings (Chronological)== [http://zenit.senecac.on.ca/wiki/index.php/User:Jamesboston/nsIProcess/meeting-092008 Sept 19, 2008]: Discussion with Benjamin Smedberg and updates=David Humphrey to discuss the new API proposal.<br /> [http://zenit.senecac.on.ca/wiki/index.php/User:Jamesboston/nsIProcess/meeting-092208 Sept 22, 2008]: Discussion with Mark Finkle and David Humphrey about the API design. [http://zenit.senecac.on.ca/wiki/index.php/User:Jamesboston/nsIProcess/meetin-092308 Sept 23, 2008]: Discussion with Mark Finkle about using NSPR.
==Blog==A blog about the ongoing project to fix [[User:Jamesboston/nsIProcess:<br />httpmeeting-100808|Oct 8, 2008]]://jamesbostonDiscussion about string types and Windows paths in NSPR.ca/cms/taxonomy/term/16
==Hot off the presses==[[User:Jamesboston/nsIProcess/meeting-102908|Oct 29, 2008]]: Advice regarding PRProcess type.
[https[User:Jamesboston/nsIProcess/wiki.mozilla.org/NsIProcess Sept 21meeting-110508|Nov 5, 2008]]: A first draft (an alpha version really) of the API is postedGetting advice on callbacks across XPConnect divide.
[http[User:Jamesboston/nsIProcess/zenit.senecac.on.ca/wiki/imgs/Patch210908.zip Sept 21meeting-110708|Nov 7, 2008]]: Wrote a patch for the existing API so that the kill() method works for Win32Round table on Unicode support.
[http://zenit.senecac.on.ca/wiki/index.php/[User:Jamesboston/nsIProcess/meeting-092008 Sept 19112308|Nov 23, 2008]]: Discussion with Benjamin Smedberg and David Humphries to discuss the new API proposalabout pathnames in xpcshell.<br />

Navigation menu