#[repr(usize)]pub enum FutexFlags {
Wait = 0,
Wake = 1,
Fd = 2,
Requeue = 3,
CmpRequeue = 4,
WakeOp = 5,
LockPi = 6,
UnlockPi = 7,
TrylockPi = 8,
WaitBitset = 9,
}Expand description
Variants§
Wait = 0
等待操作,线程阻塞直到被唤醒
Wake = 1
唤醒等待的线程
Fd = 2
使用文件描述符的 Futex 操作(较少用)
Requeue = 3
将等待队列中的线程重新排队到另一个 Futex
CmpRequeue = 4
带比较操作的重新排队,只有在值匹配时才执行排队
WakeOp = 5
执行复杂的唤醒和重新排队组合操作
LockPi = 6
获取 Priority Inheritance 锁
UnlockPi = 7
释放 Priority Inheritance 锁
TrylockPi = 8
尝试获取 Priority Inheritance 锁(非阻塞)
WaitBitset = 9
等待指定的位集合(bitset),类似于 Wait,但支持位掩码
Trait Implementations§
Source§impl Debug for FutexFlags
impl Debug for FutexFlags
Source§impl TryFrom<usize> for FutexFlags
impl TryFrom<usize> for FutexFlags
Source§type Error = TryFromPrimitiveError<FutexFlags>
type Error = TryFromPrimitiveError<FutexFlags>
The type returned in the event of a conversion error.
Source§impl TryFromPrimitive for FutexFlags
impl TryFromPrimitive for FutexFlags
const NAME: &'static str = "FutexFlags"
type Primitive = usize
type Error = TryFromPrimitiveError<FutexFlags>
fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>
Auto Trait Implementations§
impl Freeze for FutexFlags
impl RefUnwindSafe for FutexFlags
impl Send for FutexFlags
impl Sync for FutexFlags
impl Unpin for FutexFlags
impl UnwindSafe for FutexFlags
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