PatchworkOS
Loading...
Searching...
No Matches
futex.c
Go to the documentation of this file.
1#include <stdio.h>
2#include <sys/io.h>
3
5
6uint64_t futex(atomic_uint64_t* addr, uint64_t val, futex_op_t op, clock_t timeout)
7{
8 uint64_t result = _syscall_futex(addr, val, op, timeout);
9 if (result == ERR)
10 {
12 }
13 return result;
14}
#define errno
Error number variable.
Definition errno.h:27
futex_op_t
Futex operation enum.
Definition proc.h:226
uint64_t futex(atomic_uint64_t *addr, uint64_t val, futex_op_t op, clock_t timeout)
System call for fast user space mutual exclusion.
Definition futex.c:6
#define ERR
Integer error value.
Definition ERR.h:17
__UINT64_TYPE__ clock_t
A nanosecond time.
Definition clock_t.h:13
static errno_t _syscall_errno(void)
Definition syscalls.h:118
static uint64_t _syscall_futex(atomic_uint64_t *addr, uint64_t val, futex_op_t op, clock_t timeout)
Definition syscalls.h:233
__UINT64_TYPE__ uint64_t
Definition stdint.h:17