Must be called only after adding 1 to panicking. There are three callsites.
fn waitForOtherThreadToFinishPanicking() void
fn waitForOtherThreadToFinishPanicking() void {
if (panicking.fetchSub(1, .seq_cst) != 1) {
// Another thread is panicking, wait for the last one to finish
// and call abort()
if (builtin.single_threaded) unreachable;
// Sleep forever without hammering the CPU
var futex: u32 = 0;
while (true) std.Options.debug_io.futexWaitUncancelable(u32, &futex, 0);
unreachable;
}
}