diff options
Diffstat (limited to 'lib/libc/internal/util/futex.c')
| -rw-r--r-- | lib/libc/internal/util/futex.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/libc/internal/util/futex.c b/lib/libc/internal/util/futex.c new file mode 100644 index 00000000..2f9872a0 --- /dev/null +++ b/lib/libc/internal/util/futex.c @@ -0,0 +1,13 @@ +#include <linux/futex.h> +#include <syscall.h> + +int __futex_wait(volatile int *uaddr, int val) +{ + return syscall(futex, uaddr, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, val, 0, 0, 0); +} + +int __futex_wake(volatile int *uaddr, int n) +{ + /* futex(uaddr, FUTEX_WAKE, val=n, ...) */ + return syscall(futex, uaddr, FUTEX_WAKE | FUTEX_PRIVATE_FLAG, n, 0, 0, 0); +} |
