diff options
-rw-r--r-- | lib/tsan/rtl/tsan_interceptors.cc | 2 | ||||
-rw-r--r-- | test/tsan/ignore_lib4.cc | 3 | ||||
-rw-r--r-- | test/tsan/ignore_lib4.cc.supp | 1 |
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 |