diff options
| author | Vitaly Buka <vitalybuka@google.com> | 2019-02-08 20:43:26 +0000 |
|---|---|---|
| committer | Vitaly Buka <vitalybuka@google.com> | 2019-02-08 20:43:26 +0000 |
| commit | f333118ee0b23678a7cf5db76cc8c9fa083434a4 (patch) | |
| tree | 56cef48e79af9acc948691ed3123c7c74db80a03 /compiler-rt/lib | |
| parent | c716bee0535cf70fb15204c205a6330ef152294e (diff) | |
| download | bcm5719-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.cc | 3 |
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); } |

