[neon/backports-resolute/wayland-resolute/Neon/release] src: WAYLAND_DEBUG: produce comparable timestamp values
Pekka Paalanen
null at kde.org
Sat Aug 22 05:58:19 BST 2026
Git commit 60d6bb946c1d8a81a92830e3da557c3b1bcb31a4 by Pekka Paalanen, on behalf of Benjamin Otte.
Committed on 09/07/2026 at 09:00.
Pushed by carlosdem into branch 'Neon/release'.
WAYLAND_DEBUG: produce comparable timestamp values
The previous way to print timestamps would overflow and produce numbers
that didn't match any other system.
The format was also somewhat unintuitive because it was milliseconds
with the microseconds as fraction, which is a rarely used format.
Instead, use a simple HH:MM:SS.xxxxxx format that is hopefully
intuitively understandable as the POSIX/ISO8601 time format followed
by the microseconds.
Signed-off-by: Benjamin Otte <otte at redhat.com>
M +5 -4 src/connection.c
M +5 -4 src/wayland-client.c
https://invent.kde.org/neon/backports-resolute/wayland-resolute/-/commit/60d6bb946c1d8a81a92830e3da557c3b1bcb31a4
diff --git a/src/connection.c b/src/connection.c
index 2d1e8d1..6ab20ab 100644
--- a/src/connection.c
+++ b/src/connection.c
@@ -1547,7 +1547,6 @@ wl_closure_print(struct wl_closure *closure, struct wl_object *target,
struct argument_details arg;
const char *signature = closure->message->signature;
struct timespec tp;
- unsigned int time;
uint32_t nval;
FILE *f;
char *buffer;
@@ -1558,10 +1557,12 @@ wl_closure_print(struct wl_closure *closure, struct wl_object *target,
return;
clock_gettime(CLOCK_REALTIME, &tp);
- time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);
- fprintf(f, "%s[%7u.%03u] ",
+ fprintf(f, "%s[%02u:%02u:%02u.%06u] ",
color ? WL_DEBUG_COLOR_GREEN : "",
- time / 1000, time % 1000);
+ (unsigned) ((tp.tv_sec / 3600) % 24),
+ (unsigned) ((tp.tv_sec / 60) % 60),
+ (unsigned) (tp.tv_sec % 60),
+ (unsigned) (tp.tv_nsec / 1000));
#if defined(HAVE_GETTID)
if (include_tid < 0) {
diff --git a/src/wayland-client.c b/src/wayland-client.c
index 50b3b4b..8e5539f 100644
--- a/src/wayland-client.c
+++ b/src/wayland-client.c
@@ -1577,7 +1577,6 @@ queue_event(struct wl_display *display, int len)
const struct wl_message *message;
struct wl_event_queue *queue;
struct timespec tp;
- unsigned int time;
int num_zombie_fds;
wl_connection_copy(display->connection, p, sizeof p);
@@ -1619,11 +1618,13 @@ queue_event(struct wl_display *display, int len)
if (debug_client) {
clock_gettime(CLOCK_REALTIME, &tp);
- time = (tp.tv_sec * 1000000L) + (tp.tv_nsec / 1000);
- fprintf(stderr, "%s[%7u.%03u] %sdiscarded %s[%s]%s#%u%s.[event %d]%s"
+ fprintf(stderr, "%s[%02u:%02u:%02u.%06u] %sdiscarded %s[%s]%s#%u%s.[event %d]%s"
"(%d fd, %d byte)\n",
debug_color ? WL_DEBUG_COLOR_GREEN : "",
- time / 1000, time % 1000,
+ (unsigned) ((tp.tv_sec / 3600) % 24),
+ (unsigned) ((tp.tv_sec / 60) % 60),
+ (unsigned) (tp.tv_sec % 60),
+ (unsigned) (tp.tv_nsec / 1000),
debug_color ? WL_DEBUG_COLOR_RED : "",
debug_color ? WL_DEBUG_COLOR_BLUE : "",
zombie ? "zombie" : "unknown",
More information about the Neon-commits
mailing list