GCD has APIs for event sources, we need some more release-acquire pairs to avoid false positives in TSan.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
LGTM with a nit
lib/tsan/rtl/tsan_libdispatch_mac.cc | ||
---|---|---|
286 | In the xpc-change you scoped handler outside of SCOPED_INTERCEPTOR scope as: { SCOPED_INTERCEPTOR_RAW(dispatch_source_set_event_handler_callback); Acquire(thr, pc, (uptr)source); } handler(); Don't we need to do the same here? | |
307 | same here | |
330 | same here |
In the xpc-change you scoped handler outside of SCOPED_INTERCEPTOR scope as:
Don't we need to do the same here?
We generally don't run user callbacks inside of interceptor scope.