]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
nptl: Fix ___pthread_unregister_cancel_restore asynchronous restore
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 13 Jul 2022 13:37:32 +0000 (10:37 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 13 Jul 2022 16:23:20 +0000 (13:23 -0300)
This was due a wrong revert done on 404656009b459658.

Checked on x86_64-linux-gnu and i686-linux-gnu.

(cherry picked from commit f27e5e21787abc9f719879af47687221aa1027b3)

nptl/cleanup_defer.c

index 35ba40fb0247c7cc02ac3811132458df2c520aaf..59571229d8ccf48122d5a56862de7afa523bd178 100644 (file)
@@ -72,7 +72,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