mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
fix windows bug in Progress.zig
This bug caused the compiler to deadlock when multiple c objects were build in parallel. Thanks @kprotty for finding this bug!
This commit is contained in:
parent
15278b7f4b
commit
4f7d76f19c
@ -103,7 +103,11 @@ pub const Node = struct {
|
||||
}
|
||||
parent.completeOne();
|
||||
} else {
|
||||
self.context.done = true;
|
||||
{
|
||||
const held = self.context.update_lock.acquire();
|
||||
defer held.release();
|
||||
self.context.done = true;
|
||||
}
|
||||
self.context.refresh();
|
||||
}
|
||||
}
|
||||
|
||||
@ -299,6 +299,6 @@ pub extern "kernel32" fn SleepConditionVariableSRW(
|
||||
f: ULONG,
|
||||
) callconv(WINAPI) BOOL;
|
||||
|
||||
pub extern "kernel32" fn TryAcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) BOOL;
|
||||
pub extern "kernel32" fn TryAcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) BOOLEAN;
|
||||
pub extern "kernel32" fn AcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;
|
||||
pub extern "kernel32" fn ReleaseSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user