From 60bffb5f499e50425b31e4ef8a0c6c804ada7d2d Mon Sep 17 00:00:00 2001 From: Bananymous Date: Fri, 24 Jan 2025 19:58:44 +0200 Subject: [PATCH] LibC: Implement `clock` in terms of `clock_gettime` This allows clock to "just work" after I update clock_gettime to support CLOCK_PROCESS_CPUTIME_ID. --- userspace/libraries/LibC/time.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/userspace/libraries/LibC/time.cpp b/userspace/libraries/LibC/time.cpp index 00747d8f..0089baa9 100644 --- a/userspace/libraries/LibC/time.cpp +++ b/userspace/libraries/LibC/time.cpp @@ -20,8 +20,11 @@ int nanosleep(const struct timespec* rqtp, struct timespec* rmtp) clock_t clock(void) { - dwarnln("TODO: clock"); - return -1; + timespec ts; + if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) == -1) + return -1; + return ((uint64_t)ts.tv_sec * CLOCKS_PER_SEC) + + ((uint64_t)ts.tv_nsec * CLOCKS_PER_SEC / 1'000'000'000); } time_t time(time_t* tloc)