scheduler: add futexWaitUncancelable

This commit is contained in:
2026-06-04 17:51:58 +02:00
parent f90d4d883d
commit 4f35537e3d
+7 -1
View File
@@ -326,7 +326,13 @@ pub fn sleep(self: *Scheduler, delta_us: u64) !void {
try self.checkCancel(); 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) if (@atomicLoad(u32, ptr, .seq_cst) != expected)
return; return;