From: Kamil Rytarowski Date: Fri, 3 Nov 2017 21:08:52 +0000 (+0000) Subject: Late fixup in _lwp_exit on TSan/NetBSD X-Git-Tag: llvmorg-6.0.0-rc1~4176 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e6b53dad4239ff9f651e46fa6cbfba48a299cf9b;p=platform%2Fupstream%2Fllvm.git Late fixup in _lwp_exit on TSan/NetBSD Call DestroyThreadState() before REAL(_lwp_exit)(); This variation is less racy. Sponsored by llvm-svn: 317369 --- diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc index db92f75..0b4e873 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc +++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc @@ -2451,8 +2451,8 @@ TSAN_INTERCEPTOR(void *, __tls_get_addr, void *arg) { #if SANITIZER_NETBSD TSAN_INTERCEPTOR(void, _lwp_exit) { SCOPED_TSAN_INTERCEPTOR(_lwp_exit); - REAL(_lwp_exit)(); DestroyThreadState(); + REAL(_lwp_exit)(); } #define TSAN_MAYBE_INTERCEPT__LWP_EXIT TSAN_INTERCEPT(_lwp_exit) #else