From a01858aede7a9b197a3d71105e76381a83d35f40 Mon Sep 17 00:00:00 2001 From: cozis Date: Thu, 4 Jun 2026 17:36:01 +0200 Subject: [PATCH] scheduler: Add recancel and checkCancel to help manage cancellation state --- src/scheduler.zig | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/scheduler.zig b/src/scheduler.zig index 96d34c8..84662c5 100644 --- a/src/scheduler.zig +++ b/src/scheduler.zig @@ -391,3 +391,17 @@ pub fn cancel(self: *Scheduler, id: TaskID) !void { child.cancel = true; } + +pub fn checkCancel(self: *Scheduler) !void { + const task = self.findTaskByID(self.current_id.?).?; + if (!task.cancel) + return; + + task.cancel = false; + return error.Canceled; +} + +pub fn recancel(self: *Scheduler) void { + const task = self.findTaskByID(self.current_id.?).?; + task.cancel = true; +}