From 94e150a522ce4c1abad5f00223a8a940f3a5b6e0 Mon Sep 17 00:00:00 2001 From: CJ van den Berg Date: Sat, 14 Mar 2026 19:08:13 +0100 Subject: [PATCH] fix(kqueue): fix an unlocked snapshots usage --- src/backend/KQueue.zig | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/backend/KQueue.zig b/src/backend/KQueue.zig index 74b6232..a82011f 100644 --- a/src/backend/KQueue.zig +++ b/src/backend/KQueue.zig @@ -419,7 +419,10 @@ pub fn remove_watch(self: *@This(), allocator: std.mem.Allocator, path: []const std.posix.close(entry.value); allocator.free(entry.key); } - if (self.snapshots.fetchRemove(path)) |entry| { + self.snapshots_mutex.lock(); + const snap_entry = self.snapshots.fetchRemove(path); + self.snapshots_mutex.unlock(); + if (snap_entry) |entry| { var names = entry.value; var it = names.iterator(); while (it.next()) |ne| {