Index: fusl/src/time/timer_gettime.c |
diff --git a/fusl/src/time/timer_gettime.c b/fusl/src/time/timer_gettime.c |
new file mode 100644 |
index 0000000000000000000000000000000000000000..ed6d8d65ce1ac0b488002e5a9503b1fbd84ddea3 |
--- /dev/null |
+++ b/fusl/src/time/timer_gettime.c |
@@ -0,0 +1,12 @@ |
+#include <time.h> |
+#include <limits.h> |
+#include "pthread_impl.h" |
+ |
+int timer_gettime(timer_t t, struct itimerspec *val) |
+{ |
+ 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_gettime, t, val); |
+} |