aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2023-08-16 13:56:39 +0200
committerAndrew Kelley <andrew@ziglang.org>2023-08-16 18:04:10 -0700
commit01836c7bbe90cfb7847ab9803cb976515160c533 (patch)
tree087e7c8e5c9bd601e6324ab7caabac9dbd0d0996 /src
parentf1992a39a59b941f397b8501a525b38e5863a527 (diff)
downloadzig-01836c7bbe90cfb7847ab9803cb976515160c533.tar.gz
zig-01836c7bbe90cfb7847ab9803cb976515160c533.zip
comp: make --verbose-cc actually thread-safe
Diffstat (limited to 'src')
-rw-r--r--src/Compilation.zig7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 47e13ba85c..726862f231 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -5175,10 +5175,13 @@ pub fn lockAndParseLldStderr(comp: *Compilation, comptime prefix: []const u8, st
}
pub fn dump_argv(argv: []const []const u8) void {
+ std.debug.getStderrMutex().lock();
+ defer std.debug.getStderrMutex().unlock();
+ const stderr = std.io.getStdErr().writer();
for (argv[0 .. argv.len - 1]) |arg| {
- std.debug.print("{s} ", .{arg});
+ nosuspend stderr.print("{s} ", .{arg}) catch return;
}
- std.debug.print("{s}\n", .{argv[argv.len - 1]});
+ nosuspend stderr.print("{s}\n", .{argv[argv.len - 1]}) catch {};
}
pub fn getZigBackend(comp: Compilation) std.builtin.CompilerBackend {