Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/sync.h')
-rw-r--r--winsup/cygwin/sync.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/winsup/cygwin/sync.h b/winsup/cygwin/sync.h
index d424d39ab..5c6bc4b27 100644
--- a/winsup/cygwin/sync.h
+++ b/winsup/cygwin/sync.h
@@ -55,10 +55,15 @@ public:
if (exiting && exit_state < ES_PROCESS_LOCKED)
exit_state = ES_PROCESS_LOCKED;
}
+ void release ()
+ {
+ locker.release ();
+ skip_unlock = true;
+ }
~lock_process ()
{
if (!skip_unlock)
- locker.release ();
+ release ();
}
static void force_release (_cygtls *tid) {locker.release (tid);}
friend class dtable;