diff options
Diffstat (limited to 'pthread_setcancelstate.c')
-rw-r--r-- | pthread_setcancelstate.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/pthread_setcancelstate.c b/pthread_setcancelstate.c index 002cfe5..12fdda4 100644 --- a/pthread_setcancelstate.c +++ b/pthread_setcancelstate.c @@ -103,8 +103,10 @@ pthread_setcancelstate (int state, int *oldstate) /* * Check if there is a pending asynchronous cancel + * only if we don't have alertable async cancel. */ if (state == PTHREAD_CANCEL_ENABLE + && (ptw32_features & PTW32_ALERTABLE_ASYNC_CANCEL) == 0 && sp->cancelType == PTHREAD_CANCEL_ASYNCHRONOUS && WaitForSingleObject (sp->cancelEvent, 0) == WAIT_OBJECT_0) { |