summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib
diff options
context:
space:
mode:
authorVitaly Buka <vitalybuka@google.com>2019-02-08 20:43:26 +0000
committerVitaly Buka <vitalybuka@google.com>2019-02-08 20:43:26 +0000
commitf333118ee0b23678a7cf5db76cc8c9fa083434a4 (patch)
tree56cef48e79af9acc948691ed3123c7c74db80a03 /compiler-rt/lib
parentc716bee0535cf70fb15204c205a6330ef152294e (diff)
downloadbcm5719-llvm-f333118ee0b23678a7cf5db76cc8c9fa083434a4.tar.gz
bcm5719-llvm-f333118ee0b23678a7cf5db76cc8c9fa083434a4.zip
Fix Die() after pthread_exit call on macOS
Summary: Scoped interceptor should not be used when calling real pthread_exit(). On macOS C++ destructors are not called by pthread_exit(), and later check for empty thread ignore set fails. Patch by Yuri Per. Reviewers: dvyukov, vitalybuka Reviewed By: vitalybuka Subscribers: vitalybuka, thegameg, kubamracek, jfb, llvm-commits, #sanitizers Tags: #sanitizers, #llvm Differential Revision: https://reviews.llvm.org/D57963 llvm-svn: 353561
Diffstat (limited to 'compiler-rt/lib')
-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 fd0c86420f7..72ca5ae68b5 100644
--- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
+++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc
@@ -1051,6 +1051,9 @@ TSAN_INTERCEPTOR(int, pthread_detach, void *th) {
}
TSAN_INTERCEPTOR(void, pthread_exit, void *retval) {
+ {
+ SCOPED_INTERCEPTOR_RAW(pthread_exit, retval);
+ }
REAL(pthread_exit)(retval);
}
OpenPOWER on IntegriCloud