diff options
Diffstat (limited to 'nptl/cleanup_defer.c')
-rw-r--r-- | nptl/cleanup_defer.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c index 084216e44b..b72553bdc0 100644 --- a/nptl/cleanup_defer.c +++ b/nptl/cleanup_defer.c @@ -41,10 +41,10 @@ _pthread_cleanup_push_defer (buffer, routine, arg) /* Disable asynchronous cancellation for now. */ if (__builtin_expect (cancelhandling & CANCELTYPE_BITMASK, 0)) { - while (atomic_compare_and_exchange_acq (&self->cancelhandling, - cancelhandling - & ~CANCELTYPE_BITMASK, - cancelhandling) != 0) + while (atomic_compare_and_exchange_bool_acq (&self->cancelhandling, + cancelhandling + & ~CANCELTYPE_BITMASK, + cancelhandling)) cancelhandling = self->cancelhandling; } @@ -70,10 +70,10 @@ _pthread_cleanup_pop_restore (buffer, execute) && ((cancelhandling = THREAD_GETMEM (self, cancelhandling)) & CANCELTYPE_BITMASK) == 0) { - while (atomic_compare_and_exchange_acq (&self->cancelhandling, - cancelhandling - | CANCELTYPE_BITMASK, - cancelhandling) != 0) + while (atomic_compare_and_exchange_bool_acq (&self->cancelhandling, + cancelhandling + | CANCELTYPE_BITMASK, + cancelhandling)) cancelhandling = self->cancelhandling; CANCELLATION_P (self); |