summaryrefslogtreecommitdiff
path: root/nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch
blob: d1b891cbd97092b0561b0062f5aa1277a6dd0087 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From f27e5e21787abc9f719879af47687221aa1027b3 Mon Sep 17 00:00:00 2001
From: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date: Wed, 13 Jul 2022 10:37:32 -0300
Subject: [PATCH] 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.
---
 nptl/cleanup_defer.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/nptl/cleanup_defer.c b/nptl/cleanup_defer.c
index eb0bc77..4e864ea 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
-- 
1.8.3.1