diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-04-29 11:22:07 +0400 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-04-29 11:22:07 +0400 |
commit | 541820d0eefe3859162cce48946c9649752b9b3b (patch) | |
tree | b5dc57a767e106e74571dd0414f341676f1ff314 | |
parent | 530994bdce6a6ec12b8223d57cf4654e1609169e (diff) |
* posix_ipc.cc (ipc_cond_timedwait): Only wait for pthread's
cancel_event if thread's cancelability isn't disabled.
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/posix_ipc.cc | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 36fddb45d..569e7d9b7 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2011-04-29 Corinna Vinschen <corinna@vinschen.de> + + * posix_ipc.cc (ipc_cond_timedwait): Only wait for pthread's + cancel_event if thread's cancelability isn't disabled. + 2011-04-28 Corinna Vinschen <corinna@vinschen.de> * advapi32.cc (SetSecurityDescriptorDacl): Remove. diff --git a/winsup/cygwin/posix_ipc.cc b/winsup/cygwin/posix_ipc.cc index 227282fcb..88f5a2e5e 100644 --- a/winsup/cygwin/posix_ipc.cc +++ b/winsup/cygwin/posix_ipc.cc @@ -181,7 +181,8 @@ ipc_cond_timedwait (HANDLE evt, HANDLE mtx, const struct timespec *abstime) int ret = 0; thread = pthread::self (); - if (thread && thread->cancel_event) + if (thread && thread->cancel_event + && thread->cancelstate != PTHREAD_CANCEL_DISABLE) w4[cnt++] = thread->cancel_event; if (abstime) { |