From 797018f86e9b5eb6f6a2b65753f0926b58a27d54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gr=C3=A9goire?= Date: Wed, 17 Jun 2026 19:57:35 -0400 Subject: [PATCH] ke: add reset to event --- src/kern/event.zig | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/kern/event.zig b/src/kern/event.zig index 31e2f84..eeef3b8 100644 --- a/src/kern/event.zig +++ b/src/kern/event.zig @@ -8,9 +8,9 @@ pub const Event = struct { const Self = @This(); pub const Type = enum { - /// Wake only one waiter. + /// Wake only one waiter and decrease signaled. Synchronization, - /// Wake all waiters. + /// Wake all waiters a keep signaled high. Notification, }; @@ -29,4 +29,11 @@ pub const Event = struct { ki.wait.satisfy_wait(&self.hdr); self.hdr.lock.release(ipl); } + + /// Reset an event. + pub fn reset(self: *Self) void { + const ipl = self.hdr.lock.acquire(); + self.hdr.signaled = 0; + self.hdr.lock.release(ipl); + } };