summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2019-01-20 22:19:27 +0100
committerCorinna Vinschen <corinna@vinschen.de>2019-01-20 22:19:27 +0100
commit693c98c5e2f9d674eb28952be3e105fba7ea06ad (patch)
tree0cf54d57d4131bd4a1714744c24e2fe60f657195
parent597285ca58770f3c9495aa91fbf24129b01cf426 (diff)
downloadcygnal-693c98c5e2f9d674eb28952be3e105fba7ea06ad.tar.gz
cygnal-693c98c5e2f9d674eb28952be3e105fba7ea06ad.tar.bz2
cygnal-693c98c5e2f9d674eb28952be3e105fba7ea06ad.zip
Cygwin: timerfd: Fix entering critical section
Getting an abandonded mutex is just as well and must be handled. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--winsup/cygwin/timerfd.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/winsup/cygwin/timerfd.h b/winsup/cygwin/timerfd.h
index 6c42d91f4..711738283 100644
--- a/winsup/cygwin/timerfd.h
+++ b/winsup/cygwin/timerfd.h
@@ -59,7 +59,8 @@ class timerfd_shared
/* write access methods */
bool enter_cs ()
{
- return WaitForSingleObject (_access_mtx, INFINITE) == WAIT_OBJECT_0;
+ return (WaitForSingleObject (_access_mtx, INFINITE) & ~WAIT_ABANDONED_0)
+ == WAIT_OBJECT_0;
}
void leave_cs ()
{