diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-07 18:13:43 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-12-07 18:13:43 -0500 |
commit | e8869220f5a5b245be1a89106c77f50ec07624fd (patch) | |
tree | 88a4b31bddd7d2b69de97be544d552a3262ed835 /time.c | |
parent | 62d79ffc94f7ea177bd1a0745604490214e1e036 (diff) |
switched to box2d
Diffstat (limited to 'time.c')
-rw-r--r-- | time.c | 65 |
1 files changed, 0 insertions, 65 deletions
@@ -1,65 +0,0 @@ -#include <time.h> -#include <errno.h> -#include <sys/stat.h> - -static struct timespec time_last_modified(char const *filename) { -#if __unix__ - struct stat statbuf = {0}; - stat(filename, &statbuf); - return statbuf.st_mtim; -#else - // windows' _stat does not have st_mtim - struct _stat statbuf = {0}; - struct timespec ts = {0}; - _stat(filename, &statbuf); - ts.tv_sec = statbuf.st_mtime; - return ts; -#endif -} - -static int timespec_cmp(struct timespec a, struct timespec b) { - if (a.tv_sec > b.tv_sec) return 1; - if (a.tv_sec < b.tv_sec) return -1; - if (a.tv_nsec > b.tv_nsec) return 1; - if (a.tv_nsec < b.tv_nsec) return -1; - return 0; -} - -static bool timespec_eq(struct timespec a, struct timespec b) { - return timespec_cmp(a, b) == 0; -} - -static struct timespec timespec_max(struct timespec a, struct timespec b) { - return timespec_cmp(a, b) < 0 ? b : a; -} - -// sleep for a certain number of nanoseconds -static void sleep_ns(u64 ns) { -#if __unix__ - struct timespec rem = {0}, req = { - ns / 1000000000, - ns % 1000000000 - }; - - while (nanosleep(&req, &rem) == EINTR) // sleep interrupted by signal - req = rem; -#else - // windows.... - Sleep((DWORD)(ns / 1000000)); -#endif -} - -// sleep for microseconds -static void time_sleep_us(u64 us) { - sleep_ns(us * 1000); -} - -// sleep for milliseconds -static void time_sleep_ms(u64 ms) { - sleep_ns(ms * 1000000); -} - -// sleep for seconds -static void time_sleep_s(u64 s) { - sleep_ns(s * 1000000000); -} |