summaryrefslogtreecommitdiffstats
path: root/osdep
diff options
context:
space:
mode:
Diffstat (limited to 'osdep')
-rw-r--r--osdep/timer-win2.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/osdep/timer-win2.c b/osdep/timer-win2.c
index ed09ed18db..fbbdc923f1 100644
--- a/osdep/timer-win2.c
+++ b/osdep/timer-win2.c
@@ -36,12 +36,22 @@ void mp_sleep_us(int64_t us)
Sleep(us / 1000);
}
+#if defined(_POSIX_TIMERS) && _POSIX_TIMERS > 0 && defined(CLOCK_MONOTONIC)
+uint64_t mp_raw_time_us(void)
+{
+ struct timespec ts;
+ if (clock_gettime(CLOCK_MONOTONIC, &ts))
+ abort();
+ return ts.tv_sec * 1000000LL + ts.tv_nsec / 1000;
+}
+#else
uint64_t mp_raw_time_us(void)
{
struct timeval tv;
gettimeofday(&tv,NULL);
return tv.tv_sec * 1000000LL + tv.tv_usec;
}
+#endif
static void restore_timer(void)
{