From e0470c4f45694fde5b884cb43d2712cef8c7d2eb Mon Sep 17 00:00:00 2001 From: MatthijsBlom Date: Sat, 18 Apr 2026 23:46:59 +0200 Subject: [PATCH] demonstrate the benefit of the mutex --- exercises/091_async7.zig | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/exercises/091_async7.zig b/exercises/091_async7.zig index 1b83795..629d276 100644 --- a/exercises/091_async7.zig +++ b/exercises/091_async7.zig @@ -52,6 +52,12 @@ fn increment(io: std.Io, state: *SharedState, times: u32) void { state.mutex.??? catch return; defer state.mutex.unlock(); // <-- what's missing here? + // Sleep to give the other tasks a chance to run in the meantime. + // We do this here only to make nondeterminism more visible. + io.sleep(std.Io.Duration.fromMilliseconds(1), .awake) catch {}; + + // What happens if you neglect to lock the mutex? + state.counter += 1; } }