Function futex [src]

The futex v1 syscall, see also the newer the futex2_{wait,wakeup,requeue,waitv} syscalls. The futex_op parameter is a sub-command and flags. The sub-command defines which of the subsequent paramters are relevant.

Prototype

pub fn futex(uaddr: *const anyopaque, futex_op: FUTEX_OP, val: u32, val2timeout: futex_param4, uaddr2: ?*const anyopaque, val3: u32) usize

Parameters

uaddr: *const anyopaquefutex_op: FUTEX_OPval: u32val2timeout: futex_param4uaddr2: ?*const anyopaqueval3: u32

Source

pub fn futex(uaddr: *const anyopaque, futex_op: FUTEX_OP, val: u32, val2timeout: futex_param4, uaddr2: ?*const anyopaque, val3: u32) usize { return syscall6( if (@hasField(SYS, "futex")) .futex else .futex_time64, @intFromPtr(uaddr), @as(u32, @bitCast(futex_op)), val, @intFromPtr(val2timeout.timeout), @intFromPtr(uaddr2), val3, ); }