From 78c4fcfcd89e80ef70cf4cbb13f5100c84432496 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Mon, 22 Dec 2025 15:13:48 -0800 Subject: std.debug.lockStderr: cancel protection rather than recancel because we need to return the value --- lib/std/debug.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/std') diff --git a/lib/std/debug.zig b/lib/std/debug.zig index 25a0bc120d..88af16666f 100644 --- a/lib/std/debug.zig +++ b/lib/std/debug.zig @@ -281,8 +281,10 @@ pub const sys_can_stack_trace = switch (builtin.cpu.arch) { /// application's chosen `Io` implementation. pub fn lockStderr(buffer: []u8) Io.LockedStderr { const io = std.options.debug_io; + const prev = io.swapCancelProtection(.blocked); + defer _ = io.swapCancelProtection(prev); return io.lockStderr(buffer, null) catch |err| switch (err) { - error.Canceled => io.recancel(), + error.Canceled => unreachable, // Cancel protection enabled above. }; } -- cgit v1.2.3