about summary refs log tree commit diff
path: root/nptl
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-07-13 10:37:32 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-07-13 10:44:13 -0300
commitf27e5e21787abc9f719879af47687221aa1027b3 (patch)
tree6f90f41a8a245042b68b67b7c58065ed61b50c99 /nptl
parentf2698954ff9c2f9626d4bcb5a30eb5729714e0b0 (diff)
downloadglibc-f27e5e21787abc9f719879af47687221aa1027b3.tar.gz
glibc-f27e5e21787abc9f719879af47687221aa1027b3.tar.xz
glibc-f27e5e21787abc9f719879af47687221aa1027b3.zip
nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore
This was due a wrong revert done on 404656009b459658.

Checked on x86_64-linux-gnu and i686-linux-gnu.
Diffstat (limited to 'nptl')
-rw-r--r--nptl/cleanup_defer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c
index eb0bc77740..4e864ead32 100644
--- a/nptl/cleanup_defer.c
+++ b/nptl/cleanup_defer.c
@@ -71,7 +71,7 @@ ___pthread_unregister_cancel_restore (__pthread_unwind_buf_t *buf)
     return;
 
   int cancelhandling = atomic_load_relaxed (&self->cancelhandling);
-  if (cancelhandling & CANCELTYPE_BITMASK)
+  if ((cancelhandling & CANCELTYPE_BITMASK) == 0)
     {
       int newval;
       do