Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linux/linux_futex.c
Show First 20 Lines • Show All 284 Lines • ▼ Show 20 Lines | futex_copyin_timeout(int op, struct l_timespec *luts, int clockrt, | ||||
if (error) | if (error) | ||||
return (error); | return (error); | ||||
error = linux_to_native_timespec(ts, <s); | error = linux_to_native_timespec(ts, <s); | ||||
if (error) | if (error) | ||||
return (error); | return (error); | ||||
if (clockrt) { | if (clockrt) { | ||||
nanotime(&kts); | nanotime(&kts); | ||||
timespecsub(ts, &kts); | timespecsub(ts, &kts, ts); | ||||
} else if (op == LINUX_FUTEX_WAIT_BITSET) { | } else if (op == LINUX_FUTEX_WAIT_BITSET) { | ||||
nanouptime(&kts); | nanouptime(&kts); | ||||
timespecsub(ts, &kts); | timespecsub(ts, &kts, ts); | ||||
} | } | ||||
return (error); | return (error); | ||||
} | } | ||||
static void | static void | ||||
futex_put(struct futex *f, struct waiting_proc *wp) | futex_put(struct futex *f, struct waiting_proc *wp) | ||||
{ | { | ||||
LIN_SDT_PROBE2(futex, futex_put, entry, f, wp); | LIN_SDT_PROBE2(futex, futex_put, entry, f, wp); | ||||
▲ Show 20 Lines • Show All 1,031 Lines • Show Last 20 Lines |