Lines Matching defs:group

308 TSAN_INTERCEPTOR(long_t, dispatch_group_wait, dispatch_group_t group,
310 SCOPED_TSAN_INTERCEPTOR(dispatch_group_wait, group, timeout);
311 long_t result = REAL(dispatch_group_wait)(group, timeout);
312 if (result == 0) Acquire(thr, pc, (uptr)group);
317 extern "C" void dispatch_group_enter(dispatch_group_t group);
319 TSAN_INTERCEPTOR(void, dispatch_group_leave, dispatch_group_t group) {
320 SCOPED_TSAN_INTERCEPTOR(dispatch_group_leave, group);
321 // Acquired in the group notification callback in dispatch_group_notify[_f].
322 Release(thr, pc, (uptr)group);
323 REAL(dispatch_group_leave)(group);
326 TSAN_INTERCEPTOR(void, dispatch_group_async, dispatch_group_t group,
328 SCOPED_TSAN_INTERCEPTOR(dispatch_group_async, group, queue, block);
329 dispatch_retain(group);
330 dispatch_group_enter(group);
335 WRAP(dispatch_group_leave)(group);
336 dispatch_release(group);
340 TSAN_INTERCEPTOR(void, dispatch_group_async_f, dispatch_group_t group,
343 SCOPED_TSAN_INTERCEPTOR(dispatch_group_async_f, group, queue, context, work);
344 dispatch_retain(group);
345 dispatch_group_enter(group);
348 WRAP(dispatch_group_leave)(group);
349 dispatch_release(group);
353 DECLARE_REAL(void, dispatch_group_notify_f, dispatch_group_t group,
356 TSAN_INTERCEPTOR(void, dispatch_group_notify, dispatch_group_t group,
358 SCOPED_TSAN_INTERCEPTOR(dispatch_group_notify, group, q, block);
360 // To make sure the group is still available in the callback (otherwise
362 dispatch_retain(group);
368 // Released when leaving the group (dispatch_group_leave).
369 Acquire(thr, pc, (uptr)group);
371 dispatch_release(group);
379 REAL(dispatch_group_notify_f)(group, q, new_context, dispatch_callback_wrap);
382 TSAN_INTERCEPTOR(void, dispatch_group_notify_f, dispatch_group_t group,
384 WRAP(dispatch_group_notify)(group, q, ^(void) { work(context); });