diff --git a/src/link/Elf2.zig b/src/link/Elf2.zig index 49916ce2c6bacb512268a581a42e682bb5619959..3255cad5820a5cbc9fd58e497a482e41ea83e5cb 100644 --- a/src/link/Elf2.zig +++ b/src/link/Elf2.zig @@ -10936,9 +10936,12 @@ fn flushInner( try elf.mf.flush(); - if (elf.options.enable_link_snapshots) - elf.dumpStderr() catch |err| - return diags.fail("dumping link snapshot failed: {t}", .{err}); + if (elf.options.enable_link_snapshots) { + elf.dumpStderr() catch |err| switch (err) { + error.Canceled => |e| return e, + else => |e| return diags.fail("dumping link snapshot failed: {t}", .{e}), + }; + } } pub fn idle(elf: *Elf) link.Error!bool {