diff options
Diffstat (limited to 'winsup/cygwin/sync.h')
-rw-r--r-- | winsup/cygwin/sync.h | 7 |
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; |