diff options
Diffstat (limited to 'nptl/cancellation.c')
-rw-r--r-- | nptl/cancellation.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/nptl/cancellation.c b/nptl/cancellation.c index b15f25d..ce00603 100644 --- a/nptl/cancellation.c +++ b/nptl/cancellation.c @@ -44,7 +44,8 @@ __pthread_enable_asynccancel (void) oldval); if (__glibc_likely (curval == oldval)) { - if (CANCEL_ENABLED_AND_CANCELED_AND_ASYNCHRONOUS (newval)) + if (self->cancelstate == PTHREAD_CANCEL_ENABLE + && CANCEL_CANCELED_AND_ASYNCHRONOUS (newval)) { THREAD_SETMEM (self, result, PTHREAD_CANCELED); __do_cancel (); |