summaryrefslogtreecommitdiff
path: root/rts/posix/GetTime.c
diff options
context:
space:
mode:
Diffstat (limited to 'rts/posix/GetTime.c')
-rw-r--r--rts/posix/GetTime.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/rts/posix/GetTime.c b/rts/posix/GetTime.c
index 15643b8319..eab7177fe5 100644
--- a/rts/posix/GetTime.c
+++ b/rts/posix/GetTime.c
@@ -181,6 +181,22 @@ Ticks getThreadCPUTime(void)
return getProcessCPUTime();
}
+void getUnixEpochTime(StgWord64 *sec, StgWord32 *nsec)
+{
+#if defined(HAVE_GETTIMEOFDAY)
+ struct timeval tv;
+ gettimeofday(&tv, (struct timezone *) NULL);
+ *sec = tv.tv_sec;
+ *nsec = tv.tv_usec * 1000;
+#else
+ /* Sigh, fall back to second resolution. */
+ time_t t;
+ time(&t);
+ *sec = t;
+ *nsec = 0;
+#endif
+}
+
nat
getPageFaults(void)
{