Changes

Jump to: navigation, search

User:Jamesboston/nsIProcess

578 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=
==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=459572
==Proposed Submitted patches==
[httphttps://jamesbostonbugzilla.ca/patches/patch092408.txt <del>patch092408.txt</del>]: This patch fixes the kill() method by putting an attribute into the class that is a Win32 defined struct for holding a reference to a process, and then using that reference to terminate the process. This approach is not considered optimal because it adds more code complexitymozilla[http:org//jamesbostonattachment.ca/cgi?bugid=442393&action=viewall Bug 442393 patches/patch092508.txt <del>patch092508.txt</del>]: This patch removes Window's specific code from the implementation. Instead, Windows and all other platforms use the Netscape Portable Runtime (NSPR) Patches submitted to create processes. Additionally, the logic for blocking is modified. For nonfix Bug 442393 -blocking processes, the code previously invoked logic in the NSPR that detached a process and deleted the reference to it, rendering the kill() function useless nsIProcess. This has been changed so that the kill() function works unmodified. However, it looks as the the NSPR does not support OS X process creation/termination. (In fact, the remaining Mac specific code in nsProcessCommon.cpp may not actually do anything.) Additional implementation may be necessary in the NSPR. [http://jamesboston.ca/patches/patch100308.txt <del>patch100308.txt</del>]: Removed the Mac code. The NSPR seems to do everything necessary. The destructor has also been coded to detach a process if it hasn't been killed yet. [http://jamesboston.ca/patches/patch102208.txt <del>patch102208.txt</del>]: Implemented returning the PID for Windows. Added some code to clean up memory after kill is used, but haven't verified that it works. [http://jamesboston.ca/patches/patch102808.txt patch102808.txt]: Implemented returning the PID for Mac and Linux. Solution assumes too much about structure of PRProcess.work on Win32
==Meetings (Chronological)==
[[User:Jamesboston/nsIProcess/meeting-110708|Nov 7, 2008]]: Round table on Unicode support.
=News and updates= ==Blog==A blog about the ongoing project to fix nsIProcess:<br />http://jamesboston.ca/cms/taxonomy/term/16 ==News and Progress== [https://wiki.mozilla.org/NsIProcess Sept 21, 2008]: A first draft (an alpha version really) of the API is posted. [httpUser:Jamesboston//jamesboston.ca/cms/node/66 Sept 22, 2008]: A little something related. I've 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 3meeting-112308|Nov 23, 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 argumentsDiscussion about pathnames in xpcshell.

Navigation menu