sync: fix deadlock in one shot event

This commit is contained in:
Laytan Laats
2024-05-02 20:49:29 +02:00
parent ff0973e0f5
commit 8506e64345

View File

@@ -433,7 +433,7 @@ One_Shot_Event :: struct #no_copy {
// Blocks the current thread until the event is made available with `one_shot_event_signal`.
one_shot_event_wait :: proc "contextless" (e: ^One_Shot_Event) {
for atomic_load_explicit(&e.state, .Acquire) == 0 {
futex_wait(&e.state, 1)
futex_wait(&e.state, 0)
}
}