zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit b56e916fa1d3508a01a6fc0b62f3f64dd3843b85 (tree)
parent 15278b7f4b74e659fd968571cb9b96929da3d82c
Author: Andrew Kelley <andrew@ziglang.org>
Date:   Sun, 24 Jan 2021 12:22:51 -0700

Merge branch 'FireFox317-deadlock-windows-fix'

Merges #7861

Diffstat:
Mlib/std/Progress.zig | 4+++-
Mlib/std/os/windows/kernel32.zig | 2+-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/std/Progress.zig b/lib/std/Progress.zig @@ -103,8 +103,10 @@ pub const Node = struct { } parent.completeOne(); } else { + const held = self.context.update_lock.acquire(); + defer held.release(); self.context.done = true; - self.context.refresh(); + self.context.refreshWithHeldLock(); } } diff --git a/lib/std/os/windows/kernel32.zig b/lib/std/os/windows/kernel32.zig @@ -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;