summaryrefslogtreecommitdiff
path: root/lib/libc/internal/util/futex.c
blob: 2f9872a008568cf64bb9bc6bd014afe4d7af6c0f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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);
}