authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-01-24 12:22:51-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-01-24 12:22:51-07:00
logb56e916fa1d3508a01a6fc0b62f3f64dd3843b85
treec9892387883f0d563ed377692bacf23d10a0d1bc
parent15278b7f4b74e659fd968571cb9b96929da3d82c
parent2b321c25ce07953799300febf248ea7a7268bbd2

Merge branch 'FireFox317-deadlock-windows-fix'

Merges #7861

2 files changed, 4 insertions(+), 2 deletions(-)

lib/std/Progress.zig+3-1
...@@ -103,8 +103,10 @@ pub const Node = struct {...@@ -103,8 +103,10 @@ pub const Node = struct {
103 }103 }
104 parent.completeOne();104 parent.completeOne();
105 } else {105 } else {
106 const held = self.context.update_lock.acquire();
107 defer held.release();
106 self.context.done = true;108 self.context.done = true;
107 self.context.refresh();109 self.context.refreshWithHeldLock();
108 }110 }
109 }111 }
110112
lib/std/os/windows/kernel32.zig+1-1
...@@ -299,6 +299,6 @@ pub extern "kernel32" fn SleepConditionVariableSRW(...@@ -299,6 +299,6 @@ pub extern "kernel32" fn SleepConditionVariableSRW(
299 f: ULONG,299 f: ULONG,
300) callconv(WINAPI) BOOL;300) callconv(WINAPI) BOOL;
301301
302pub extern "kernel32" fn TryAcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) BOOL;302pub extern "kernel32" fn TryAcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) BOOLEAN;
303pub extern "kernel32" fn AcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;303pub extern "kernel32" fn AcquireSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;
304pub extern "kernel32" fn ReleaseSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;304pub extern "kernel32" fn ReleaseSRWLockExclusive(s: *SRWLOCK) callconv(WINAPI) void;