diff options
| author | avanspector <avanspector@gmail.com> | 2025-01-10 06:28:57 +0100 |
|---|---|---|
| committer | avanspector <avanspector@gmail.com> | 2025-01-10 06:28:57 +0100 |
| commit | a6dccf5e98786b2904102730ede086d3c83aa304 (patch) | |
| tree | 70e9ed79eac5ab8b84fdec5d34966c3abc7db0d8 /core/sync | |
| parent | be7799459be05af307a79d80bd4ac9f61eedac7c (diff) | |
Haiku: fix futex bug
Diffstat (limited to 'core/sync')
| -rw-r--r-- | core/sync/futex_haiku.odin | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/core/sync/futex_haiku.odin b/core/sync/futex_haiku.odin index d1b265228..52321644a 100644 --- a/core/sync/futex_haiku.odin +++ b/core/sync/futex_haiku.odin @@ -1,6 +1,7 @@ #+private package sync +import "core:sys/haiku" import "core:sys/posix" import "core:time" @@ -75,8 +76,7 @@ _futex_wait :: proc "contextless" (f: ^Futex, expect: u32) -> (ok: bool) { defer waitq_lock(waitq) sig: posix.Signal - posix.sigwait(&mask, &sig) - errno := posix.errno() + errno := posix.sigwait(&mask, &sig) ok = errno == nil } @@ -122,7 +122,7 @@ _futex_wait_with_timeout :: proc "contextless" (f: ^Futex, expect: u32, duration tv_sec = posix.time_t(i64(duration / 1e9)), tv_nsec = i64(duration % 1e9), } - posix.sigtimedwait(&mask, &info, &ts) + haiku.sigtimedwait(&mask, &info, &ts) errno := posix.errno() ok = errno == .EAGAIN || errno == nil } |