mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-05-05 00:38:01 +02:00
timer: print the timers still in the list before the assert
Helps a lot with debugging if we know which timer is still there during cleanup. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
7db3233f11
commit
faeaee5f20
1 changed files with 19 additions and 0 deletions
19
src/timer.c
19
src/timer.c
|
|
@ -49,6 +49,13 @@ libinput_timer_init(struct libinput_timer *timer,
|
|||
void
|
||||
libinput_timer_destroy(struct libinput_timer *timer)
|
||||
{
|
||||
if (timer->link.prev != NULL && timer->link.prev != NULL &&
|
||||
!list_empty(&timer->link)) {
|
||||
log_bug_libinput(timer->libinput,
|
||||
"timer: %s has not been cancelled\n",
|
||||
timer->timer_name);
|
||||
assert(!"timer not cancelled");
|
||||
}
|
||||
free(timer->timer_name);
|
||||
}
|
||||
|
||||
|
|
@ -200,6 +207,18 @@ libinput_timer_subsys_init(struct libinput *libinput)
|
|||
void
|
||||
libinput_timer_subsys_destroy(struct libinput *libinput)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
if (!list_empty(&libinput->timer.list)) {
|
||||
struct libinput_timer *t;
|
||||
|
||||
list_for_each(t, &libinput->timer.list, link) {
|
||||
log_bug_libinput(libinput,
|
||||
"timer: %s still present on shutdown\n",
|
||||
t->timer_name);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
/* All timer users should have destroyed their timers now */
|
||||
assert(list_empty(&libinput->timer.list));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue