summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--compiler-rt/lib/tsan/rtl/tsan_interceptors.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
index 2b846320b1d..6bddc3f37fa 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
@@ -1887,6 +1887,7 @@ static void CallUserSignalHandler(ThreadState *thr, bool sync, bool acquire,
int ignore_sync = thr->ignore_sync;
if (!ctx->after_multithreaded_fork) {
thr->ignore_reads_and_writes = 0;
+ thr->fast_state.ClearIgnoreBit();
thr->ignore_interceptors = 0;
thr->ignore_sync = 0;
}
@@ -1907,6 +1908,8 @@ static void CallUserSignalHandler(ThreadState *thr, bool sync, bool acquire,
}
if (!ctx->after_multithreaded_fork) {
thr->ignore_reads_and_writes = ignore_reads_and_writes;
+ if (ignore_reads_and_writes)
+ thr->fast_state.SetIgnoreBit();
thr->ignore_interceptors = ignore_interceptors;
thr->ignore_sync = ignore_sync;
}
OpenPOWER on IntegriCloud