зеркало из https://github.com/mozilla/pjs.git
0180b1d074
r=dbragg, sr=mscott, a=asa For the nsIProcess component, which is only used by XPInstall, instead of calling nspr for process creation, we call a simplified version which, on windows, will cause the child process not to inherit fds open by the forking process. Fix is only XP_WIN. nspr will provide a more risky, non-nsIProcess, XP solution at some point which is either achieved by modifying open() to accept a non-inherit flag (on win32) or do an fcntl() on Unix (see the bug for details specific to the fcntl()), or provide another pair of create processes functions that are geared towards non-inheriting process creation. The bug fixed here is the XP installer is not able, on win32, to remove the components.reg file from the "cleanup" process, which leads to all sorts of mayhem, because the cleanup process inherits the component.reg fd which is open at the time the cleanup process is forked, and this it cannot remove something it has an open reference to. |
||
---|---|---|
.. | ||
appshell | ||
base | ||
build | ||
components | ||
doc | ||
ds | ||
glue | ||
io | ||
libxpt/xptcall | ||
macbuild | ||
proxy | ||
reflect | ||
remote | ||
sample | ||
string | ||
tests | ||
threads | ||
tools | ||
typelib | ||
windbgdlg | ||
.cvsignore | ||
Makefile.in | ||
makefile.win |