summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/timer.h3
-rw-r--r--sysdep/unix/io.c13
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/timer.h b/lib/timer.h
index c5ea430c..0f87852b 100644
--- a/lib/timer.h
+++ b/lib/timer.h
@@ -46,6 +46,9 @@ extern struct timeloop main_timeloop;
btime current_time(void);
btime current_real_time(void);
+/* In sysdep code */
+btime current_time_now(void);
+
//#define now (current_time() TO_S)
//#define now_real (current_real_time() TO_S)
extern btime boot_time;
diff --git a/sysdep/unix/io.c b/sysdep/unix/io.c
index e131ca41..6aedcfb6 100644
--- a/sysdep/unix/io.c
+++ b/sysdep/unix/io.c
@@ -171,6 +171,19 @@ times_update_real_time(struct timeloop *loop)
loop->real_time = ts.tv_sec S + ts.tv_nsec NS;
}
+btime
+current_time_now(void)
+{
+ struct timespec ts;
+ int rv;
+
+ rv = clock_gettime(CLOCK_MONOTONIC, &ts);
+ if (rv < 0)
+ die("clock_gettime: %m");
+
+ return ts.tv_sec S + ts.tv_nsec NS;
+}
+
/**
* DOC: Sockets