0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-22 09:41:54 +00:00

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.
This commit is contained in:
Toke Høiland-Jørgensen 2023-06-02 00:26:41 +02:00 committed by Ondrej Zajicek
parent f8ba82804f
commit d8cf3cad51
2 changed files with 16 additions and 0 deletions

View File

@ -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;

View File

@ -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