PatchworkOS
Loading...
Searching...
No Matches
futex.c
Go to the documentation of this file.
1
#include <
stdio.h
>
2
#include <
sys/io.h
>
3
4
#include "
user/common/syscalls.h
"
5
6
uint64_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
{
11
errno
=
_syscall_errno
();
12
}
13
return
result;
14
}
errno
#define errno
Error number variable.
Definition
errno.h:27
futex_op_t
futex_op_t
Futex operation enum.
Definition
proc.h:226
futex
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
ERR
#define ERR
Integer error value.
Definition
ERR.h:17
clock_t
__UINT64_TYPE__ clock_t
A nanosecond time.
Definition
clock_t.h:13
io.h
syscalls.h
_syscall_errno
static errno_t _syscall_errno(void)
Definition
syscalls.h:118
_syscall_futex
static uint64_t _syscall_futex(atomic_uint64_t *addr, uint64_t val, futex_op_t op, clock_t timeout)
Definition
syscalls.h:233
uint64_t
__UINT64_TYPE__ uint64_t
Definition
stdint.h:17
stdio.h
src
libstd
user
functions
proc
futex.c
Generated by
1.9.8