structstd.c.darwin.UL[src]

Undocumented futex-like API available on darwin 16+ (macOS 10.12+, iOS 10.0+, tvOS 10.0+, watchOS 3.0+, catalyst 13.0+).

[ulock.h]: https://github.com/apple/darwin-xnu/blob/master/bsd/sys/ulock.h [sys_ulock.c]: https://github.com/apple/darwin-xnu/blob/master/bsd/kern/sys_ulock.c

Container Types

Fields

op: Op
WAKE_ALL: bool = false
WAKE_THREAD: bool = false
_10: u6 = 0
WAIT_WORKQ_DATA_CONTENTION: bool = false
WAIT_CANCEL_POINT: bool = false
WAIT_ADAPTIVE_SPIN: bool = false
_19: u5 = 0
NO_ERRNO: bool = false
_: u7 = 0

Source Code

Source code
pub const UL = packed struct(u32) {
    op: Op,
    WAKE_ALL: bool = false,
    WAKE_THREAD: bool = false,
    _10: u6 = 0,
    WAIT_WORKQ_DATA_CONTENTION: bool = false,
    WAIT_CANCEL_POINT: bool = false,
    WAIT_ADAPTIVE_SPIN: bool = false,
    _19: u5 = 0,
    NO_ERRNO: bool = false,
    _: u7 = 0,

    pub const Op = enum(u8) {
        COMPARE_AND_WAIT = 1,
        UNFAIR_LOCK = 2,
        COMPARE_AND_WAIT_SHARED = 3,
        UNFAIR_LOCK64_SHARED = 4,
        COMPARE_AND_WAIT64 = 5,
        COMPARE_AND_WAIT64_SHARED = 6,
    };
}