From fa0a855c73a053c13d6fcf1aa20bad6f1711d2b8 Mon Sep 17 00:00:00 2001 From: Julian Lettner Date: Mon, 24 Aug 2020 13:56:22 -0700 Subject: [PATCH] [TSan][libdispatch] Add interceptors for dispatch_barrier_async_and_wait() Add interceptors for the barrier variants of the "async and wait" dispatch API family. --- compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp b/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp index 99ec275..2556de8 100644 --- a/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp +++ b/compiler-rt/lib/tsan/rtl/tsan_interceptors_libdispatch.cpp @@ -235,9 +235,15 @@ SANITIZER_WEAK_IMPORT void dispatch_async_and_wait( dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); SANITIZER_WEAK_IMPORT void dispatch_async_and_wait_f( dispatch_queue_t queue, void *context, dispatch_function_t work); +SANITIZER_WEAK_IMPORT void dispatch_barrier_async_and_wait( + dispatch_queue_t queue, DISPATCH_NOESCAPE dispatch_block_t block); +SANITIZER_WEAK_IMPORT void dispatch_barrier_async_and_wait_f( + dispatch_queue_t queue, void *context, dispatch_function_t work); DISPATCH_INTERCEPT_SYNC_B(dispatch_async_and_wait, false) DISPATCH_INTERCEPT_SYNC_F(dispatch_async_and_wait_f, false) +DISPATCH_INTERCEPT_SYNC_B(dispatch_barrier_async_and_wait, true) +DISPATCH_INTERCEPT_SYNC_F(dispatch_barrier_async_and_wait_f, true) #endif -- 2.7.4