aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/sync.h
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-02-24 02:49:44 +0000
committerChristopher Faylor <me@cgf.cx>2000-02-24 02:49:44 +0000
commitf02f1f144422e878a30befcdda6f10df4b065663 (patch)
tree805a745abe4fdbf1228cd38578e8109c1242bd83 /winsup/cygwin/sync.h
parent58dabf5040b1253b837ec0e563904d7d5254a29f (diff)
downloadnewlib-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.h3
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 */