From 4ee52924a61bdb2fd8ce7b64d111cf7df4d19fe3 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 23 Dec 2004 14:57:08 +0000 Subject: * cygthread.cc (cygthread::stub): Detect if thread function wants to release itself here, to avoid a race. (cygthread::release): Clear more stuff. Add a diagnostic for an internal error. * cygthread.h (auto_release): New function. * pinfo.h (pinfo::remember): Add an argument to denote whether child is detached. * fork.cc (fork_parent): Reflect change in arguments to pinfo::remember. * pinfo.cc (_pinfo::exit): Signal exit more forcibly. (proc_waiter): Use cygthread::auto_release to signify that cygthread::stub should release the thread. This should avoid a race. (pinfo::alert_parent): Don't signify an error when wr_proc_pipe == NULL. * sigproc.cc (proc_subproc): Add support for PROC_DETACHED_CHILD. * sigproc.h: Ditto. * spawn.cc (spawn_guts): Specify whether child is detached or not when calling pinfo::remember. --- winsup/cygwin/sigproc.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'winsup/cygwin/sigproc.h') diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index 9a432d31f..020d43884 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -30,11 +30,11 @@ enum enum procstuff { - PROC_ADDCHILD = 1, // add a new subprocess to list - PROC_CHILDTERMINATED = 2, // a child died - PROC_CLEARWAIT = 3, // clear all waits - signal arrived - PROC_WAIT = 4, // setup for wait() for subproc - PROC_NOTHING = 5 // nothing, really + PROC_ADDCHILD = 1, // add a new subprocess to list + PROC_DETACHED_CHILD = 2, // set up a detached child + PROC_CLEARWAIT = 3, // clear all waits - signal arrived + PROC_WAIT = 4, // setup for wait() for subproc + PROC_NOTHING = 5 // nothing, really }; struct sigpacket -- cgit v1.2.3