fn signal(context: ?*anyopaque) callconv(.c) void context: ?*anyopaque1908
1909
1910
1911
1912
1913
1914
1915
1916 fn signal(context: ?*anyopaque) callconv(.c) void {
const waiter: *BatchWaiter = @ptrCast(@alignCast(context));
if (waiter.timer) |timer| {
if (timer != already_signaled) timer.cancel();
} else {
waiter.timer = already_signaled;
waiter.queue.async(waiter, &@"suspend");
}
}