* 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.
This commit is contained in:
Christopher Faylor
2012-12-07 17:23:22 +00:00
parent a4f34961d8
commit 9873ac53d7
4 changed files with 16 additions and 4 deletions

View File

@@ -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;
}