aboutsummaryrefslogtreecommitdiff
path: root/core/sync
diff options
context:
space:
mode:
authoravanspector <avanspector@gmail.com>2025-01-10 06:28:57 +0100
committeravanspector <avanspector@gmail.com>2025-01-10 06:28:57 +0100
commita6dccf5e98786b2904102730ede086d3c83aa304 (patch)
tree70e9ed79eac5ab8b84fdec5d34966c3abc7db0d8 /core/sync
parentbe7799459be05af307a79d80bd4ac9f61eedac7c (diff)
Haiku: fix futex bug
Diffstat (limited to 'core/sync')
-rw-r--r--core/sync/futex_haiku.odin6
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
}