diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-01-24 12:22:51 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-01-24 12:22:51 -0700 |
| commit | b56e916fa1d3508a01a6fc0b62f3f64dd3843b85 (patch) | |
| tree | c9892387883f0d563ed377692bacf23d10a0d1bc /lib/std | |
| parent | 15278b7f4b74e659fd968571cb9b96929da3d82c (diff) | |
| parent | 2b321c25ce07953799300febf248ea7a7268bbd2 (diff) | |
| download | zig-b56e916fa1d3508a01a6fc0b62f3f64dd3843b85.tar.gz zig-b56e916fa1d3508a01a6fc0b62f3f64dd3843b85.zip | |
Merge branch 'FireFox317-deadlock-windows-fix'
Merges #7861
Diffstat (limited to 'lib/std')
| -rw-r--r-- | lib/std/Progress.zig | 4 | ||||
| -rw-r--r-- | lib/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 index b75ad106a4..131aff2d2b 100644 --- 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 index ec4a75afa9..734059a08a 100644 --- 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; |
