68
69
if (!(ds->ds_timer.flags & DISPATCH_TIMER_ONESHOT)) {
69
70
dispatch_source_cancel(ds);
72
72
// Clients often leave sources suspended at the last release
73
73
dispatch_atomic_and(&ds->do_suspend_cnt, DISPATCH_OBJECT_SUSPEND_LOCK);
75
77
// Arguments for and against this assert are within 6705399
76
78
DISPATCH_CLIENT_CRASH("Release of a suspended object");
84
85
dispatch_source_testcancel(dispatch_source_t ds)