diff options
author | Vitaly Buka <vitalybuka@google.com> | 2019-02-09 22:08:31 +0000 |
---|---|---|
committer | Vitaly Buka <vitalybuka@google.com> | 2019-02-09 22:08:31 +0000 |
commit | 87771ec98e898ef9302ee40e75a742be05b0db37 (patch) | |
tree | 7f7ab70e44894ae4a72f3034a4b44aa9c6d2ffb6 | |
parent | 8ff86df042ea13514cc3682895b06a1106c29d36 (diff) | |
download | compiler-rt-87771ec98e898ef9302ee40e75a742be05b0db37.tar.gz |
tsan: Implement pthread_exit() interceptor for Thread sanitizer
This change is preparation for fiber support.
Author: yuri (Yuri Per)
Reviewed in: https://reviews.llvm.org/D57876
Context: https://reviews.llvm.org/D54889
llvm-svn: 353385
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@353627 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/tsan/rtl/tsan_interceptors.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc index 2a642a1e1..72ca5ae68 100644 --- a/lib/tsan/rtl/tsan_interceptors.cc +++ b/lib/tsan/rtl/tsan_interceptors.cc @@ -1050,6 +1050,13 @@ TSAN_INTERCEPTOR(int, pthread_detach, void *th) { return res; } +TSAN_INTERCEPTOR(void, pthread_exit, void *retval) { + { + SCOPED_INTERCEPTOR_RAW(pthread_exit, retval); + } + REAL(pthread_exit)(retval); +} + #if SANITIZER_LINUX TSAN_INTERCEPTOR(int, pthread_tryjoin_np, void *th, void **ret) { SCOPED_TSAN_INTERCEPTOR(pthread_tryjoin_np, th, ret); @@ -2664,6 +2671,7 @@ void InitializeInterceptors() { TSAN_INTERCEPT(pthread_create); TSAN_INTERCEPT(pthread_join); TSAN_INTERCEPT(pthread_detach); + TSAN_INTERCEPT(pthread_exit); #if SANITIZER_LINUX TSAN_INTERCEPT(pthread_tryjoin_np); TSAN_INTERCEPT(pthread_timedjoin_np); |