From 676be4b94443eb5d245551a71a2fd220cd8b81de Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 2 Jul 2015 14:22:05 +1000 Subject: [PATCH] test: use poll instead of a busy wait Drop the busy loop we had waiting for an event to appear and just call poll on the libinput fd. This actually makes the tests more correct, if we now time out where we didn't before it means we're not setting the timers correctly. Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- test/litest.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/litest.c b/test/litest.c index a91207e..df521fe 100644 --- a/test/litest.c +++ b/test/litest.c @@ -1560,6 +1560,7 @@ litest_wait_for_event_of_type(struct libinput *li, ...) enum libinput_event_type types[32] = {LIBINPUT_EVENT_NONE}; size_t ntypes = 0; enum libinput_event_type type; + struct pollfd fds; va_start(args, li); type = va_arg(args, int); @@ -1571,12 +1572,16 @@ litest_wait_for_event_of_type(struct libinput *li, ...) } va_end(args); + fds.fd = libinput_get_fd(li); + fds.events = POLLIN; + fds.revents = 0; + while (1) { size_t i; struct libinput_event *event; while ((type = libinput_next_event_type(li)) == LIBINPUT_EVENT_NONE) { - msleep(10); + poll(&fds, 1, -1); libinput_dispatch(li); } -- 2.7.4