diff options
author | Dmitry Vyukov <dvyukov@google.com> | 2017-09-28 07:32:00 +0000 |
---|---|---|
committer | Dmitry Vyukov <dvyukov@google.com> | 2017-09-28 07:32:00 +0000 |
commit | 2c81ea0cccbda5b123c57889b92922491ba97b01 (patch) | |
tree | 7f3ba51dbcca44cab798316d1c73c711ee57aff6 /lib | |
parent | af46bb333e568ca5c737a1e6d058e1d06f9a29a9 (diff) |
tsan: handle signals in pause call
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@314384 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tsan/rtl/tsan_interceptors.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/tsan/rtl/tsan_interceptors.cc b/lib/tsan/rtl/tsan_interceptors.cc index 34f49fce5..82a7f371a 100644 --- a/lib/tsan/rtl/tsan_interceptors.cc +++ b/lib/tsan/rtl/tsan_interceptors.cc @@ -371,6 +371,11 @@ TSAN_INTERCEPTOR(int, nanosleep, void *req, void *rem) { return res; } +TSAN_INTERCEPTOR(int, pause) { + SCOPED_TSAN_INTERCEPTOR(pause); + return BLOCK_REAL(pause)(); +} + // The sole reason tsan wraps atexit callbacks is to establish synchronization // between callback setup and callback execution. struct AtExitCtx { @@ -2583,6 +2588,7 @@ void InitializeInterceptors() { TSAN_INTERCEPT(sleep); TSAN_INTERCEPT(usleep); TSAN_INTERCEPT(nanosleep); + TSAN_INTERCEPT(pause); TSAN_INTERCEPT(gettimeofday); TSAN_INTERCEPT(getaddrinfo); |