stage2: Cache deadlock debugging only for safe build modes

This commit is contained in:
Andrew Kelley 2020-12-26 14:02:07 -07:00
parent 3366e4caf3
commit cb290ed6c9

View File

@ -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 {};