aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/sync.cc
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2000-02-24 19:54:01 +0000
committerChristopher Faylor <me@cgf.cx>2000-02-24 19:54:01 +0000
commitd3bda1df95dd1e368ec03b1a1b9e3f0260b4cbfc (patch)
treefae6cee1f065d106fc2fe2e731d238973b4125fc /winsup/cygwin/sync.cc
parent4bc3b73cfde68ab05ce7351cf57156ece6433548 (diff)
downloadnewlib-d3bda1df95dd1e368ec03b1a1b9e3f0260b4cbfc.zip
newlib-d3bda1df95dd1e368ec03b1a1b9e3f0260b4cbfc.tar.gz
newlib-d3bda1df95dd1e368ec03b1a1b9e3f0260b4cbfc.tar.bz2
* exceptions.cc (call_handler): Use new muto linked list to look for all
potential mutos owned by suspended thread. Clear waiting threads while thread is stopped. (proc_subproc): Clarify debugging output. * sync.h (class muto): Add 'next' field. (new_muto): Keep linked list alive.
Diffstat (limited to 'winsup/cygwin/sync.cc')
-rw-r--r--winsup/cygwin/sync.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/winsup/cygwin/sync.cc b/winsup/cygwin/sync.cc
index f9edb99..744eb8d 100644
--- a/winsup/cygwin/sync.cc
+++ b/winsup/cygwin/sync.cc
@@ -21,8 +21,10 @@ details. */
#include <stdlib.h>
#include "winsup.h"
+muto muto_start (0, 0);
+
/* Constructor */
-muto::muto(int inh, const char *name) : sync (0), visits(0), waiters(-1), tid (0)
+muto::muto(int inh, const char *name) : sync (0), visits(0), waiters(-1), tid (0), next (0)
{
/* Create event which is used in the fallback case when blocking is necessary */
if (!(bruteforce = CreateEvent (inh ? &sec_all_nih : &sec_none_nih, FALSE, FALSE, name)))