2323#include < errno.h>
2424#include < libkern/OSAtomic.h>
2525#include < objc/objc-sync.h>
26+ #include < os/lock.h>
2627#include < sys/ucontext.h>
2728
2829#if defined(__has_include) && __has_include(<xpc/xpc.h>)
@@ -246,21 +247,7 @@ TSAN_INTERCEPTOR(void, os_lock_unlock, void *lock) {
246247 REAL (os_lock_unlock)(lock);
247248}
248249
249- extern " C" {
250- #define _LOCK_AVAILABILITY \
251- __OSX_AVAILABLE (10.12 ) __IOS_AVAILABLE(10.0 ) \
252- __TVOS_AVAILABLE(10.0 ) __WATCHOS_AVAILABLE(3.0 )
253-
254- _LOCK_AVAILABILITY void os_unfair_lock_lock(void *lock);
255- // NOTE: `options` actually has type `os_unfair_lock_options_t` but this
256- // should be ABI compatible.
257- _LOCK_AVAILABILITY void os_unfair_lock_lock_with_options (void *lock,
258- u32 options);
259- _LOCK_AVAILABILITY bool os_unfair_lock_trylock (void *lock);
260- _LOCK_AVAILABILITY void os_unfair_lock_unlock (void *lock);
261- }
262-
263- TSAN_INTERCEPTOR (void , os_unfair_lock_lock, void *lock) {
250+ TSAN_INTERCEPTOR (void , os_unfair_lock_lock, os_unfair_lock_t lock) {
264251 if (!cur_thread ()->is_inited || cur_thread ()->is_dead ) {
265252 return REAL (os_unfair_lock_lock)(lock);
266253 }
@@ -269,7 +256,7 @@ TSAN_INTERCEPTOR(void, os_unfair_lock_lock, void *lock) {
269256 Acquire (thr, pc, (uptr)lock);
270257}
271258
272- TSAN_INTERCEPTOR (void , os_unfair_lock_lock_with_options, void * lock,
259+ TSAN_INTERCEPTOR (void , os_unfair_lock_lock_with_options, os_unfair_lock_t lock,
273260 u32 options) {
274261 if (!cur_thread ()->is_inited || cur_thread ()->is_dead ) {
275262 return REAL (os_unfair_lock_lock_with_options)(lock, options);
@@ -279,7 +266,7 @@ TSAN_INTERCEPTOR(void, os_unfair_lock_lock_with_options, void *lock,
279266 Acquire (thr, pc, (uptr)lock);
280267}
281268
282- TSAN_INTERCEPTOR (bool , os_unfair_lock_trylock, void * lock) {
269+ TSAN_INTERCEPTOR (bool , os_unfair_lock_trylock, os_unfair_lock_t lock) {
283270 if (!cur_thread ()->is_inited || cur_thread ()->is_dead ) {
284271 return REAL (os_unfair_lock_trylock)(lock);
285272 }
@@ -290,7 +277,7 @@ TSAN_INTERCEPTOR(bool, os_unfair_lock_trylock, void *lock) {
290277 return result;
291278}
292279
293- TSAN_INTERCEPTOR (void , os_unfair_lock_unlock, void * lock) {
280+ TSAN_INTERCEPTOR (void , os_unfair_lock_unlock, os_unfair_lock_t lock) {
294281 if (!cur_thread ()->is_inited || cur_thread ()->is_dead ) {
295282 return REAL (os_unfair_lock_unlock)(lock);
296283 }
0 commit comments