summaryrefslogtreecommitdiff
path: root/nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2024-08-03 06:28:41 +0000
committerCoprDistGit <infra@openeuler.org>2024-08-03 06:28:41 +0000
commitd20db0561a6a36f914fde030512503b114ef9a0c (patch)
treed4e5e3494d95c269a1cee6195f11bf3201bcadbf /nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch
parent016343d99b1b269d7246ef1e143d4b54914433d4 (diff)
Diffstat (limited to 'nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch')
-rw-r--r--nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch29
1 files changed, 29 insertions, 0 deletions
diff --git a/nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch b/nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch
new file mode 100644
index 0000000..d1b891c
--- /dev/null
+++ b/nptl-Fix-___pthread_unregister_cancel_restore-asynch.patch
@@ -0,0 +1,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
+