diff options
author | Christopher Faylor <me@cgf.cx> | 2000-02-24 02:49:44 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2000-02-24 02:49:44 +0000 |
commit | f02f1f144422e878a30befcdda6f10df4b065663 (patch) | |
tree | 805a745abe4fdbf1228cd38578e8109c1242bd83 /winsup/cygwin/sigproc.h | |
parent | 58dabf5040b1253b837ec0e563904d7d5254a29f (diff) | |
download | newlib-f02f1f144422e878a30befcdda6f10df4b065663.zip newlib-f02f1f144422e878a30befcdda6f10df4b065663.tar.gz newlib-f02f1f144422e878a30befcdda6f10df4b065663.tar.bz2 |
* exceptions.cc (interruptible): Change method for determining if something is
interruptible.
(call_handler): Avoid suspending a thread if it owns a mutex. Only set
signal_arrived if the thread was actually interrupted.
(events_init): Initialize module information needed by interruptible().
(sigdelayed): Don't call sig_dispatch_pending since it could screw up
* init.cc (dll_entry): Record module handle of main for use by interruptible().
(proc_subproc): Reorganize handling of terminated child so that the bulk of the
processing comes from the signal thread.
(wait_sig): Force processing of waiting threads if SIGCHLD is not processed.
* sync.cc (muto::release): Set tid == 0 after lock is released or signal
processor will be confused.
Diffstat (limited to 'winsup/cygwin/sigproc.h')
-rw-r--r-- | winsup/cygwin/sigproc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/sigproc.h b/winsup/cygwin/sigproc.h index b1b4eaf..7f237a9 100644 --- a/winsup/cygwin/sigproc.h +++ b/winsup/cygwin/sigproc.h @@ -18,7 +18,8 @@ enum procstuff PROC_CHILDSTOPPED = 2, // a child stopped PROC_CHILDTERMINATED = 3, // a child died PROC_CLEARWAIT = 4, // clear all waits - signal arrived - PROC_WAIT = 5 // setup for wait() for subproc + PROC_WAIT = 5, // setup for wait() for subproc + PROC_SIGCHLD = 6 // saw a non-trapped SIGCHLD }; typedef struct struct_waitq |