summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/tsan/rtl/tsan_interceptors.cc2
-rw-r--r--test/tsan/ignore_lib4.cc3
-rw-r--r--test/tsan/ignore_lib4.cc.supp1
3 files changed, 2 insertions, 4 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc
index e3f2c5322..07cc1ea63 100644
--- a/lib/tsan/rtl/tsan_interceptors.cc
+++ b/lib/tsan/rtl/tsan_interceptors.cc
@@ -2051,8 +2051,6 @@ void ALWAYS_INLINE rtl_generic_sighandler(bool sigact, int sig,
(sctx && atomic_load(&sctx->in_blocking_func, memory_order_relaxed))) {
atomic_fetch_add(&thr->in_signal_handler, 1, memory_order_relaxed);
if (sctx && atomic_load(&sctx->in_blocking_func, memory_order_relaxed)) {
- // We ignore interceptors in blocking functions,
- // temporary enbled them again while we are calling user function.
atomic_store(&sctx->in_blocking_func, 0, memory_order_relaxed);
CallUserSignalHandler(thr, sync, true, sigact, sig, info, ctx);
atomic_store(&sctx->in_blocking_func, 1, memory_order_relaxed);
diff --git a/test/tsan/ignore_lib4.cc b/test/tsan/ignore_lib4.cc
index 3ee34f3fa..e50d90b3d 100644
--- a/test/tsan/ignore_lib4.cc
+++ b/test/tsan/ignore_lib4.cc
@@ -1,6 +1,7 @@
// RUN: %clangxx_tsan -O1 %s -DLIB -fPIC -shared -o %T/libignore_lib4.so
// RUN: %clangxx_tsan -O1 %s -o %t
-// RUN: %env_tsan_opts=suppressions='%s.supp' %run %t 2>&1 | FileCheck %s
+// RUN: echo "called_from_lib:libignore_lib4.so" > %t.supp
+// RUN: %env_tsan_opts=suppressions='%t.supp' %run %t 2>&1 | FileCheck %s
// Longjmp assembly has not been implemented for mips64 yet
// XFAIL: mips64
diff --git a/test/tsan/ignore_lib4.cc.supp b/test/tsan/ignore_lib4.cc.supp
deleted file mode 100644
index 3a94c5897..000000000
--- a/test/tsan/ignore_lib4.cc.supp
+++ /dev/null
@@ -1 +0,0 @@
-called_from_lib:libignore_lib4.so