diff options
| author | Mara Bos <m-ou.se@m-ou.se> | 2022-04-14 09:51:25 +0200 |
|---|---|---|
| committer | Mara Bos <m-ou.se@m-ou.se> | 2022-04-14 11:44:12 +0200 |
| commit | 7a35c0f52d2a37d3ce10772b07d7a45a445ebbf0 (patch) | |
| tree | 67e565ff9babe48f7b85397bf971845ab5186765 /library/std/src/sys/wasm | |
| parent | f387c930ee7c84357f8fa9f4c38903c00404ac46 (diff) | |
| download | rust-7a35c0f52d2a37d3ce10772b07d7a45a445ebbf0.tar.gz rust-7a35c0f52d2a37d3ce10772b07d7a45a445ebbf0.zip | |
Use u32 instead of i32 for futexes.
Diffstat (limited to 'library/std/src/sys/wasm')
| -rw-r--r-- | library/std/src/sys/wasm/atomics/futex.rs | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/library/std/src/sys/wasm/atomics/futex.rs b/library/std/src/sys/wasm/atomics/futex.rs index 3d8bf42f725..bbe9bd6951a 100644 --- a/library/std/src/sys/wasm/atomics/futex.rs +++ b/library/std/src/sys/wasm/atomics/futex.rs @@ -1,17 +1,21 @@ use crate::arch::wasm32; use crate::convert::TryInto; -use crate::sync::atomic::AtomicI32; +use crate::sync::atomic::AtomicU32; use crate::time::Duration; -pub fn futex_wait(futex: &AtomicI32, expected: i32, timeout: Option<Duration>) { +pub fn futex_wait(futex: &AtomicU32, expected: u32, timeout: Option<Duration>) { let timeout = timeout.and_then(|t| t.as_nanos().try_into().ok()).unwrap_or(-1); unsafe { - wasm32::memory_atomic_wait32(futex as *const AtomicI32 as *mut i32, expected, timeout); + wasm32::memory_atomic_wait32( + futex as *const AtomicU32 as *mut i32, + expected as i32, + timeout, + ); } } -pub fn futex_wake(futex: &AtomicI32) { +pub fn futex_wake(futex: &AtomicU32) { unsafe { - wasm32::memory_atomic_notify(futex as *const AtomicI32 as *mut i32, 1); + wasm32::memory_atomic_notify(futex as *const AtomicU32 as *mut i32, 1); } } |
