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/sync.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/sync.h')
-rw-r--r-- | winsup/cygwin/sync.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/sync.h b/winsup/cygwin/sync.h index 37efbe5..7189ae9 100644 --- a/winsup/cygwin/sync.h +++ b/winsup/cygwin/sync.h @@ -1,6 +1,6 @@ /* sync.h: Header file for cygwin synchronization primitives. - Copyright 1999 Cygnus Solutions. + Copyright 1999, 2000 Cygnus Solutions. Written by Christopher Faylor <cgf@cygnus.com> @@ -36,6 +36,7 @@ public: /* Return true if caller thread owns the lock. */ int ismine () {return tid == GetCurrentThreadId ();} + DWORD owner () {return tid;} }; /* Use a statically allocated buffer as the storage for a muto */ |