about summary refs log tree commit diff
path: root/library/std/src/sys/sync/once/queue.rs
diff options
context:
space:
mode:
authorPaul Menage <menage@gmail.com>2024-10-17 12:21:53 -0700
committerPaul Menage <menage@gmail.com>2024-10-17 12:21:53 -0700
commitcf7ff15a0ddfe0713dd794cd39eb3b3b58ba8d27 (patch)
tree4b14a1e05b6fca5c17fc010616fc9547ac143651 /library/std/src/sys/sync/once/queue.rs
parent3a85d3fa785d95a7b7bcf4f160b67bffba7afd4a (diff)
downloadrust-cf7ff15a0ddfe0713dd794cd39eb3b3b58ba8d27.tar.gz
rust-cf7ff15a0ddfe0713dd794cd39eb3b3b58ba8d27.zip
Abstract the state type for futexes
In the same way that we expose SmallAtomic and SmallPrimitive to allow
Windows to use a value other than an AtomicU32 for its futex state, this
patch switches the primary futex state type from AtomicU32 to
futex::Atomic.  The futex::Atomic type should be usable as an atomic
value with underlying primitive type equal to futex::Primitive.

This allows supporting the futex API on systems where the underlying
kernel futex implementation requires more state than simply an
AtomicU32.

All in-tree futex implementations simply define {Atomic,Primitive}
directly as {AtomicU32,u32}.
Diffstat (limited to 'library/std/src/sys/sync/once/queue.rs')
-rw-r--r--library/std/src/sys/sync/once/queue.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/library/std/src/sys/sync/once/queue.rs b/library/std/src/sys/sync/once/queue.rs
index 17abaf0bf26..3e83a4a088f 100644
--- a/library/std/src/sys/sync/once/queue.rs
+++ b/library/std/src/sys/sync/once/queue.rs
@@ -23,7 +23,7 @@
 // You'll find a few more details in the implementation, but that's the gist of
 // it!
 //
-// Atomic orderings:
+// Futex orderings:
 // When running `Once` we deal with multiple atomics:
 // `Once.state_and_queue` and an unknown number of `Waiter.signaled`.
 // * `state_and_queue` is used (1) as a state flag, (2) for synchronizing the