User:Jamesboston/nsIProcess
< User:JamesbostonName of Project
Fix nsIProcess
Description
The nsIProcess API will be given a new spec that includes inter-process communication and then implemented.
Leader
Contributors
None (yet).
Details
The API for 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.
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 24, 2008 Wrote a patch so that nsIProces.run() uses NSPR for all platforms. Also solves kill problem.
Sept 23, 2008: Discussion with Mark Finkle about using NSPR.
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.
Sept 22, 2008: Discussion with Mark Finkle and David Humphrey about the API design.
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 Humphrey to discuss the new API proposal.