Commit 98346f6a authored by Jonas Ådahl's avatar Jonas Ådahl

timer: Warn about negative timer offsets

Even if it may be caused by extreme stalls, warn if the timer was set to
be triggered even before 'now' when it actually is triggered, as it is
more likely a programming error.

Part of the reason for this commit was not to convert the unsigned int
to a signed int (which abs() does).
Signed-off-by: Jonas Ådahl's avatarJonas Ådahl <jadahl@gmail.com>
Reviewed-by: Peter Hutterer's avatarPeter Hutterer <peter.hutterer@who-t.net>
parent 6e264932
......@@ -71,7 +71,10 @@ libinput_timer_set(struct libinput_timer *timer, uint64_t expire)
{
#ifndef NDEBUG
uint64_t now = libinput_now(timer->libinput);
if (abs(expire - now) > 5000)
if (expire < now)
log_bug_libinput(timer->libinput,
"timer offset negative\n");
else if ((expire - now) > 5000ULL)
log_bug_libinput(timer->libinput,
"timer offset more than 5s, now %"
PRIu64 " expire %" PRIu64 "\n",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment