summary refs log tree commit diff
path: root/library/std/src/sys/wasm
diff options
context:
space:
mode:
authorMara Bos <m-ou.se@m-ou.se>2022-04-14 09:51:25 +0200
committerMara Bos <m-ou.se@m-ou.se>2022-04-14 11:44:12 +0200
commit7a35c0f52d2a37d3ce10772b07d7a45a445ebbf0 (patch)
tree67e565ff9babe48f7b85397bf971845ab5186765 /library/std/src/sys/wasm
parentf387c930ee7c84357f8fa9f4c38903c00404ac46 (diff)
downloadrust-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.rs14
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);
     }
 }