From 7aaad602ea5980b6042f1ccc48774c6de3f1fdea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gr=C3=A9goire?= Date: Mon, 26 Oct 2026 14:41:02 -0400 Subject: [PATCH] ke/mutex: warden tracking in try_acquire --- src/sys/kern/mutex.zig | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/sys/kern/mutex.zig b/src/sys/kern/mutex.zig index 355d8d4..e1df7a0 100644 --- a/src/sys/kern/mutex.zig +++ b/src/sys/kern/mutex.zig @@ -67,12 +67,20 @@ pub const Mutex = struct { /// Returns true on success. pub fn try_acquire(self: *Mutex) bool { const curtd = ke.thread.current(); - return self.state.cmpxchgStrong( + if (self.state.cmpxchgStrong( State.uncontended, State.from(curtd), .acquire, .monotonic, - ) == null; + ) == null) { + if (config.warden) { + kep.warden.acquired(self, self.wd, .Lock); + } + + return true; + } + + return false; } /// Acquire the lock.