diff options
author | Christopher Faylor <me@cgf.cx> | 2012-12-07 21:23:22 +0400 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2012-12-07 21:23:22 +0400 |
commit | 9873ac53d7a52f96784a98098d78b71677e6599c (patch) | |
tree | 82ecd90419401778802a54aba63323a3e439d6a1 /winsup/cygwin/cygtls.h | |
parent | a4f34961d862421a174505cb79306d29d73bb9db (diff) |
* cygtls.h (_cygtls::get_signal_arrived): Add parameter to make lock/unlock
conditional.
* exceptions.cc (_cygtls::interrupt_setup): Don't get a lock when setting
signal_arrived since we already have one.
* gendef: Add some comments to make it easier to find functions.
Diffstat (limited to 'winsup/cygwin/cygtls.h')
-rw-r--r-- | winsup/cygwin/cygtls.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/winsup/cygwin/cygtls.h b/winsup/cygwin/cygtls.h index 4946e59c9..5913ce46f 100644 --- a/winsup/cygwin/cygtls.h +++ b/winsup/cygwin/cygtls.h @@ -233,14 +233,16 @@ public: void lock () __attribute__ ((regparm (1))); void unlock () __attribute__ ((regparm (1))); bool locked () __attribute__ ((regparm (1))); - HANDLE get_signal_arrived () + HANDLE get_signal_arrived (bool wait_for_lock = true) { if (!signal_arrived) { - lock (); + if (wait_for_lock) + lock (); if (!signal_arrived) signal_arrived = CreateEvent (&sec_none_nih, false, false, NULL); - unlock (); + if (wait_for_lock) + unlock (); } return signal_arrived; } |