aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/Io/Threaded.zig6
1 files changed, 2 insertions, 4 deletions
diff --git a/lib/std/Io/Threaded.zig b/lib/std/Io/Threaded.zig
index 2af24dbf17..2bb88cbb78 100644
--- a/lib/std/Io/Threaded.zig
+++ b/lib/std/Io/Threaded.zig
@@ -566,10 +566,8 @@ const GroupClosure = struct {
const reset_event: *ResetEvent = @ptrCast(&group.context);
if (@cmpxchgStrong(CancelId, &closure.cancel_tid, .none, tid, .acq_rel, .acquire)) |cancel_tid| {
assert(cancel_tid == .canceling);
- // We already know the task is canceled before running the callback. Since all closures
- // in a Group have void return type, we can return early.
- syncFinish(group_state, reset_event);
- return;
+ // Even though we already know the task is canceled, we must still
+ // run the closure in case there are side effects.
}
current_closure = closure;
gc.func(group, gc.contextPointer());