From d8cf3cad5104ab7a9887397b2a34d94c8a5f2aef Mon Sep 17 00:00:00 2001 From: Toke Høiland-Jørgensen Date: Fri, 2 Jun 2023 00:26:41 +0200 Subject: IO: Add current_time_now() function for immediate timestamp Add a current_time_now() function which gets an immediate monotonic timestamp instead of using the cached value from the event loop. This is useful for callers that need precise times, such as the Babel RTT measurement code. Minor changes by committer. --- sysdep/unix/io.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'sysdep/unix/io.c') 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 -- cgit v1.2.3