Index: fusl/src/time/timer_settime.c |
diff --git a/fusl/src/time/timer_settime.c b/fusl/src/time/timer_settime.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..62631aa49cda75f49fba047163747cd29faa60e3 |
--- /dev/null |
+++ b/fusl/src/time/timer_settime.c |
@@ -0,0 +1,12 @@ |
+#include <time.h> |
+#include <limits.h> |
+#include "pthread_impl.h" |
+ |
+int timer_settime(timer_t t, int flags, const struct itimerspec *restrict val, struct itimerspec *restrict old) |
+{ |
+ if ((intptr_t)t < 0) { |
+ pthread_t td = (void *)((uintptr_t)t << 1); |
+ t = (void *)(uintptr_t)(td->timer_id & INT_MAX); |
+ } |
+ return syscall(SYS_timer_settime, t, flags, val, old); |
+} |