pub struct HeldMutex {
pub ptr: AtomicPtr<()>,
pub hwp: AtomicPtr<()>,
}Expand description
One entry in a task’s held-mutex list. ptr is the type-erased
PriorityMutex address (0 = empty); hwp is that mutex’s monomorphized
“highest waiter base priority” accessor, so the list can stay
heterogeneous ([B11]: unlocking one mutex must not clobber the boost
held for another).
Fields§
§ptr: AtomicPtr<()>Type-erased PriorityMutex pointer; null = empty slot. AtomicPtr
(not an integer atomic) so pointer provenance survives the
store/load round-trip (miri strict-provenance requirement).
hwp: AtomicPtr<()>That mutex’s “highest waiter base priority” accessor,
fn(*const ()) -> u8 stored as a raw pointer. Written before ptr
(Release), read after loading ptr (Acquire).
Implementations§
Auto Trait Implementations§
impl !Freeze for HeldMutex
impl RefUnwindSafe for HeldMutex
impl Send for HeldMutex
impl Sync for HeldMutex
impl Unpin for HeldMutex
impl UnsafeUnpin for HeldMutex
impl UnwindSafe for HeldMutex
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