Closed Bug 532333 Opened 12 years ago Closed 12 years ago

Cleanup of child processes for POSIX is broken

Categories

(Core :: IPC, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: cjones, Assigned: cjones)

Details

Attachments

(2 files)

Currently we rely on some chromium code to ensure that a particular child process terminates.  It launches a detached pthread to do the reaping.  This is a reasonable implementation ... except that main() must exit with |pthread_exit()| rather than |exit()|, or lingering pthreads will be terminated and the child won't be harvested.

Whatever fix we implement should utilize either the main or IO event loop, so that we can ensure that the child process is hatcheted on shutdown.  Exiting main() with pthread_exit() raises some unpleasant specters.  Will think more on't overnight.
Yeah, let's just wait for the child processes to die without using a detahced thread.
Assignee: nobody → jones.chris.g
Attachment #415728 - Flags: review?(bent.mozilla)
These look ok... I guess I was envisioning something simpler as a quick fix though. Don't know if I care enough at this point to protest.
Attachment #415728 - Flags: review?(bent.mozilla) → review+
Attachment #415729 - Flags: review?(bent.mozilla) → review+
Pushed http://hg.mozilla.org/projects/electrolysis/rev/6a6d7b8eb323 and http://hg.mozilla.org/projects/electrolysis/rev/931de1b8f474

Forgot the r=bent, oops!
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.