From: notaz Date: Sun, 14 Nov 2010 20:46:46 +0000 (+0200) Subject: fix deadlock if ts_cb is not set X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5646dd9e85cb1a2703cdaa2a8f1a307fb66c6b88;p=sdl_omap.git fix deadlock if ts_cb is not set --- diff --git a/src/video/omapdss/osdl_input.c b/src/video/omapdss/osdl_input.c index 5cc8499..fff2ca2 100644 --- a/src/video/omapdss/osdl_input.c +++ b/src/video/omapdss/osdl_input.c @@ -636,9 +636,7 @@ int omapsdl_input_get_events(int timeout_ms, fd = osdl_evdev_devs[i]; #if SDL_INPUT_TSLIB - if (fd == osdl_tslib_fd) { - if (ts_cb == NULL) - continue; + if (fd == osdl_tslib_fd && ts_cb != NULL) { while (1) { struct ts_sample tss; ret = ts_read(osdl_tslib_dev, &tss, 1); @@ -650,7 +648,9 @@ int omapsdl_input_get_events(int timeout_ms, } continue; } + /* else read below will consume the event, even if it's from ts */ #endif + while (1) { ret = read(fd, &ev, sizeof(ev)); if (ret < (int)sizeof(ev)) {