diff options
Diffstat (limited to 'backend')
-rw-r--r-- | backend/backend.c | 13 | ||||
-rw-r--r-- | backend/session/session.c | 14 |
2 files changed, 8 insertions, 19 deletions
diff --git a/backend/backend.c b/backend/backend.c index 899e6f37..de25f347 100644 --- a/backend/backend.c +++ b/backend/backend.c @@ -18,6 +18,7 @@ #include "backend/multi.h" #include "render/allocator/allocator.h" #include "util/env.h" +#include "util/time.h" #if WLR_HAS_DRM_BACKEND #include <wlr/backend/drm.h> @@ -66,12 +67,6 @@ void wlr_backend_destroy(struct wlr_backend *backend) { } } -static uint64_t get_current_time_ms(void) { - struct timespec ts = {0}; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; -} - static struct wlr_session *session_create_and_wait(struct wl_display *disp) { struct wlr_session *session = wlr_session_create(disp); @@ -83,8 +78,8 @@ static struct wlr_session *session_create_and_wait(struct wl_display *disp) { if (!session->active) { wlr_log(WLR_INFO, "Waiting for a session to become active"); - uint64_t started_at = get_current_time_ms(); - uint64_t timeout = WAIT_SESSION_TIMEOUT; + int64_t started_at = get_current_time_msec(); + int64_t timeout = WAIT_SESSION_TIMEOUT; struct wl_event_loop *event_loop = wl_display_get_event_loop(session->display); @@ -96,7 +91,7 @@ static struct wlr_session *session_create_and_wait(struct wl_display *disp) { return NULL; } - uint64_t now = get_current_time_ms(); + int64_t now = get_current_time_msec(); if (now >= started_at + WAIT_SESSION_TIMEOUT) { break; } diff --git a/backend/session/session.c b/backend/session/session.c index fcd25fec..7b8b0bc2 100644 --- a/backend/session/session.c +++ b/backend/session/session.c @@ -9,7 +9,6 @@ #include <sys/stat.h> #include <sys/types.h> #include <unistd.h> -#include <time.h> #include <wayland-server-core.h> #include <wlr/backend/session.h> #include <wlr/config.h> @@ -17,6 +16,7 @@ #include <xf86drm.h> #include <xf86drmMode.h> #include "backend/session/session.h" +#include "util/time.h" #include <libseat.h> @@ -436,12 +436,6 @@ static struct udev_enumerate *enumerate_drm_cards(struct udev *udev) { return en; } -static uint64_t get_current_time_ms(void) { - struct timespec ts = {0}; - clock_gettime(CLOCK_MONOTONIC, &ts); - return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; -} - struct find_gpus_add_handler { bool added; struct wl_listener listener; @@ -476,8 +470,8 @@ ssize_t wlr_session_find_gpus(struct wlr_session *session, handler.listener.notify = find_gpus_handle_add; wl_signal_add(&session->events.add_drm_card, &handler.listener); - uint64_t started_at = get_current_time_ms(); - uint64_t timeout = WAIT_GPU_TIMEOUT; + int64_t started_at = get_current_time_msec(); + int64_t timeout = WAIT_GPU_TIMEOUT; struct wl_event_loop *event_loop = wl_display_get_event_loop(session->display); while (!handler.added) { @@ -489,7 +483,7 @@ ssize_t wlr_session_find_gpus(struct wlr_session *session, return -1; } - uint64_t now = get_current_time_ms(); + int64_t now = get_current_time_msec(); if (now >= started_at + WAIT_GPU_TIMEOUT) { break; } |