Difference between revisions of "User:Jamesboston/nsIProcess"

From CDOT Wiki
Jump to: navigation, search
Line 4: Line 4:
 
=Description=
 
=Description=
  
The Mozilla API for [http://developer.mozilla.org/en/NsIProcess nsIProcess] is not fully implemented. 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.
+
The [http://developer.mozilla.org/en/NsIProcess nsIProcess] API will be given a new spec that includes inter-process communication and then implemented.  
  
 
=Leader=
 
=Leader=
Line 13: Line 13:
  
 
=Details=
 
=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:
 +
http://docs.python.org/lib/node528.html
 +
 +
The goal of this project is to create a similar API for Mozilla.
  
 
==API proposal==
 
==API proposal==
  
(coming soon)
+
https://wiki.mozilla.org/NsIProcess
  
 
==Existing API==
 
==Existing API==
Line 36: Line 43:
  
 
==Hot off the presses==
 
==Hot off the presses==
 +
 +
[https://wiki.mozilla.org/NsIProcess Sept 21, 2008]: A first draft (an alpha version really) of the API is posted
  
 
[http://zenit.senecac.on.ca/wiki/imgs/Patch210908.zip Sept 21, 2008]: Wrote a patch for the existing API so that the kill() method works for Win32.
 
[http://zenit.senecac.on.ca/wiki/imgs/Patch210908.zip Sept 21, 2008]: Wrote a patch for the existing API so that the kill() method works for Win32.
  
 
[http://zenit.senecac.on.ca/wiki/index.php/User:Jamesboston/nsIProcess/meeting-092008 Sept 19, 2008]: Discussion with Benjamin Smedberg and David Humphries to discuss the new API proposal.<br />
 
[http://zenit.senecac.on.ca/wiki/index.php/User:Jamesboston/nsIProcess/meeting-092008 Sept 19, 2008]: Discussion with Benjamin Smedberg and David Humphries to discuss the new API proposal.<br />

Revision as of 23:48, 20 September 2008

Name of Project

Fix nsIProcess

Description

The nsIProcess API will be given a new spec that includes inter-process communication and then implemented.

Leader

James Boston

Contributors

None (yet).

Details

The API for 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: http://docs.python.org/lib/node528.html

The goal of this project is to create a similar API for Mozilla.

API proposal

https://wiki.mozilla.org/NsIProcess

Existing API

Code snippet of how to use the existing API

Existing Code

http://mxr.mozilla.org/mozilla-central/source/xpcom/threads/nsProcessCommon.cpp

Relevant bugs

https://bugzilla.mozilla.org/show_bug.cgi?id=442393
https://bugzilla.mozilla.org/show_bug.cgi?id=68702

News and updates

Blog

A blog about the ongoing project to fix nsIProcess:
http://jamesboston.ca/cms/taxonomy/term/16

Hot off the presses

Sept 21, 2008: A first draft (an alpha version really) of the API is posted

Sept 21, 2008: Wrote a patch for the existing API so that the kill() method works for Win32.

Sept 19, 2008: Discussion with Benjamin Smedberg and David Humphries to discuss the new API proposal.