aboutsummaryrefslogtreecommitdiffstats
path: root/executor/common_linux.h
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2018-08-30 21:10:38 -0700
committerDmitry Vyukov <dvyukov@google.com>2018-08-30 21:45:04 -0700
commita4718693a3d9fcabb02299b2ec07c19d8208c539 (patch)
tree4646830d734816c5d6ab7bd5f71338ce3f9b1b54 /executor/common_linux.h
parent4239b99abbcccac9104facbf2b040a5af4ffe1b1 (diff)
sys/linux: add syz_execute_func
The function executes random code. Update #310
Diffstat (limited to 'executor/common_linux.h')
-rw-r--r--executor/common_linux.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/executor/common_linux.h b/executor/common_linux.h
index b59633273..40b06f9fe 100644
--- a/executor/common_linux.h
+++ b/executor/common_linux.h
@@ -36,13 +36,13 @@ static void event_set(event_t* ev)
if (ev->state)
fail("event already set");
__atomic_store_n(&ev->state, 1, __ATOMIC_RELEASE);
- syscall(SYS_futex, &ev->state, FUTEX_WAKE);
+ syscall(SYS_futex, &ev->state, FUTEX_WAKE | FUTEX_PRIVATE_FLAG);
}
static void event_wait(event_t* ev)
{
while (!__atomic_load_n(&ev->state, __ATOMIC_ACQUIRE))
- syscall(SYS_futex, &ev->state, FUTEX_WAIT, 0, 0);
+ syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, 0);
}
static int event_isset(event_t* ev)
@@ -59,7 +59,7 @@ static int event_timedwait(event_t* ev, uint64 timeout)
struct timespec ts;
ts.tv_sec = remain / 1000;
ts.tv_nsec = (remain % 1000) * 1000 * 1000;
- syscall(SYS_futex, &ev->state, FUTEX_WAIT, 0, &ts);
+ syscall(SYS_futex, &ev->state, FUTEX_WAIT | FUTEX_PRIVATE_FLAG, 0, &ts);
if (__atomic_load_n(&ev->state, __ATOMIC_RELAXED))
return 1;
now = current_time_ms();