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 25, 2008 Revised patch to clear out some unused code. Tested console app. No console windows appeared on Vista or XP. This is the desired behaviour.
Sept 24, 2008 Wrote a patch so that nsIProcess.run() uses NSPR for all platforms. Also solves the kill bug.
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.