Commit cb290ed6c9

Andrew Kelley <andrew@ziglang.org>
2020-12-26 22:02:07
stage2: Cache deadlock debugging only for safe build modes
1 parent 3366e4c
Changed files (1)
src/Cache.zig
@@ -13,11 +13,10 @@ const fmt = std.fmt;
 const Allocator = std.mem.Allocator;
 
 /// Process-scoped map keeping track of all locked Cache hashes, to detect deadlocks.
-/// The plan is to enable this for debug builds only, but for now we enable
-/// it always to catch a deadlock.
+/// This protection is conditionally compiled depending on `want_debug_deadlock`.
 var all_cache_digest_set: std.AutoHashMapUnmanaged(BinDigest, void) = .{};
 var all_cache_digest_lock: std.Mutex = .{};
-const want_debug_deadlock = true; // TODO change this for release builds
+const want_debug_deadlock = std.debug.runtime_safety;
 const DebugBinDigest = if (want_debug_deadlock) BinDigest else void;
 const null_debug_bin_digest = if (want_debug_deadlock) ([1]u8{0} ** bin_digest_len) else {};