diff options
author | Tudor Brindus <me@tbrindus.ca> | 2020-06-05 17:44:30 -0400 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2020-06-06 00:09:19 +0200 |
commit | dc13bb827d6b7dd40d76ff6f7f3f06688e7d58a0 (patch) | |
tree | ae31558d2104b50ba592f2ade2accfa2a1ed9828 /util/time.c | |
parent | dcae6f1431dcf8deab1545cf3a251dd1a668ab21 (diff) |
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.
Diffstat (limited to 'util/time.c')
-rw-r--r-- | util/time.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/util/time.c b/util/time.c new file mode 100644 index 00000000..b2333921 --- /dev/null +++ b/util/time.c @@ -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; +} |