From 4f35537e3d8e2415dbf235d8153aa912ebb7fca6 Mon Sep 17 00:00:00 2001 From: cozis Date: Thu, 4 Jun 2026 17:51:58 +0200 Subject: [PATCH] scheduler: add futexWaitUncancelable --- src/scheduler.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/scheduler.zig b/src/scheduler.zig index 387a89f..86c6f0b 100644 --- a/src/scheduler.zig +++ b/src/scheduler.zig @@ -326,7 +326,13 @@ pub fn sleep(self: *Scheduler, delta_us: u64) !void { try self.checkCancel(); } -pub fn futexWait(self: *Scheduler, ptr: *const u32, expected: u32) void { +pub fn futexWait(self: *Scheduler, ptr: *const u32, expected: u32) !void { + try self.checkCancel(); + self.futexWaitUncancelable(ptr, expected); + try self.checkCancel(); +} + +pub fn futexWaitUncancelable(self: *Scheduler, ptr: *const u32, expected: u32) void { if (@atomicLoad(u32, ptr, .seq_cst) != expected) return;