struct MacOsFutex {
futex: FutexRef,
size: Cell<u64>,
shared: Cell<bool>,
}
Expand description
Metadata for a macOS futex.
Since macOS 11.0, Apple has exposed the previously private futex API consisting
of os_sync_wait_on_address
(and friends) and os_sync_wake_by_address_{any, all}
.
These work with different value sizes and flags, which are validated to be consistent.
This structure keeps track of both the futex queue and these values.
Fields§
§futex: FutexRef
§size: Cell<u64>
The size in bytes of the atomic primitive underlying this futex.
Whether the futex is shared across process boundaries.
Auto Trait Implementations§
impl !Freeze for MacOsFutex
impl !RefUnwindSafe for MacOsFutex
impl !Send for MacOsFutex
impl !Sync for MacOsFutex
impl Unpin for MacOsFutex
impl !UnwindSafe for MacOsFutex
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes