From ef40253e3d57a0398fa52dc371c11f383192235f Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski Date: Fri, 3 Nov 2017 21:08:52 +0000 Subject: Late fixup in _lwp_exit on TSan/NetBSD Call DestroyThreadState() before REAL(_lwp_exit)(); This variation is less racy. Sponsored by git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@317369 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/tsan/rtl/tsan_interceptors.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc index db92f7528..0b4e873a0 100644 --- a/lib/tsan/rtl/tsan_interceptors.cc +++ b/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 -- cgit v1.2.3