From 6f87bb7f9302ba82caf721ce901c69baf6ffc886 Mon Sep 17 00:00:00 2001 From: Vito Caputo Date: Fri, 7 Jul 2023 22:26:16 -0700 Subject: til: introduce til_ticks_now() Thin wrapper around gettimeofday(), prolly change the main ticks stuff over to this too. --- src/til.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/til.c') diff --git a/src/til.c b/src/til.c index 7ee4744..dec18bf 100644 --- a/src/til.c +++ b/src/til.c @@ -26,6 +26,7 @@ #define TIL_DEFAULT_NESTED_MODULE "compose" static til_threads_t *til_threads; +static struct timeval til_start_tv; extern til_module_t blinds_module; extern til_module_t checkers_module; @@ -92,6 +93,8 @@ int til_init(void) if (!(til_threads = til_threads_create())) return -errno; + gettimeofday(&til_start_tv, NULL); + return 0; } @@ -109,6 +112,22 @@ void til_shutdown(void) } +/* returns number of "ticks" since til_init(), which are currently milliseconds */ +unsigned til_ticks_now(void) +{ + struct timeval now, diff; + + /* for profiling purposes in particular, it'd be nice to bump up to microseconds... + * but then it'll prolly need uint64_t + */ + + gettimeofday(&now, NULL); + timersub(&now, &til_start_tv, &diff); + + return diff.tv_sec * 1000 + diff.tv_usec / 1000; +} + + /* "blank" built-in module */ static void _blank_prepare_frame(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr, til_frame_plan_t *res_frame_plan) { -- cgit v1.2.1