[compiler-rt] r353561 - Fix Die() after pthread_exit call on macOS

Vitaly Buka via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 8 12:43:26 PST 2019


Author: vitalybuka
Date: Fri Feb  8 12:43:26 2019
New Revision: 353561

URL: http://llvm.org/viewvc/llvm-project?rev=353561&view=rev
Log:
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

Modified:
    compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc

Modified: compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc
URL: http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc?rev=353561&r1=353560&r2=353561&view=diff
==============================================================================
--- compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc (original)
+++ compiler-rt/trunk/lib/tsan/rtl/tsan_interceptors.cc Fri Feb  8 12:43:26 2019
@@ -1051,6 +1051,9 @@ TSAN_INTERCEPTOR(int, pthread_detach, vo
 }
 
 TSAN_INTERCEPTOR(void, pthread_exit, void *retval) {
+  {
+    SCOPED_INTERCEPTOR_RAW(pthread_exit, retval);
+  }
   REAL(pthread_exit)(retval);
 }
 




More information about the llvm-commits mailing list