util: fix and move get_current_time_msec into a util file

This commit makes `get_current_time_msec` correctly return milliseconds
as opposed to microseconds. It also considers the value of `tv_sec`, so
we don't lose occasionally go back in time by one second. Finally, the
function is moved into `util/time.cc` so that it can be reused elsewhere
without having to consider these pitfalls.
This commit is contained in:
Tudor Brindus 2020-06-05 17:44:30 -04:00 committed by Simon Ser
parent dcae6f1431
commit dc13bb827d
5 changed files with 23 additions and 12 deletions

11
util/time.c Normal file
View file

@ -0,0 +1,11 @@
#define _POSIX_C_SOURCE 200809L
#include <stdint.h>
#include <time.h>
#include "util/time.h"
uint32_t get_current_time_msec(void) {
struct timespec now;
clock_gettime(CLOCK_MONOTONIC, &now);
return now.tv_sec * 1000 + now.tv_nsec / 1000000;
}