Function hermit_abi::futex_wait

source ·
pub unsafe extern "C" fn futex_wait(
    address: *mut u32,
    expected: u32,
    timeout: *const timespec,
    flags: u32
) -> i32
Expand description

If the value at address matches the expected value, park the current thread until it is either woken up with futex_wake (returns 0) or an optional timeout elapses (returns -ETIMEDOUT).

Setting timeout to null means the function will only return if futex_wake is called. Otherwise, timeout is interpreted as an absolute time measured with CLOCK_MONOTONIC. If FUTEX_RELATIVE_TIMEOUT is set in flags the timeout is understood to be relative to the current time.

Returns -EINVAL if address is null, the timeout is negative or flags contains unknown values.