From 90bba3a87e19261ac85be736f84fe29ebf962efc Mon Sep 17 00:00:00 2001 From: Ulisses Furquim Date: Mon, 14 Jan 2013 20:02:31 +0000 Subject: [PATCH] evas/async_events: fix async events counting Before we returned the number of async events handled. Even if nobody uses that let's fix it. SVN revision: 82775 --- src/lib/evas/canvas/evas_async_events.c | 32 ++++++++++++++----------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/src/lib/evas/canvas/evas_async_events.c b/src/lib/evas/canvas/evas_async_events.c index f42478702b..3b4e18abf9 100644 --- a/src/lib/evas/canvas/evas_async_events.c +++ b/src/lib/evas/canvas/evas_async_events.c @@ -123,10 +123,25 @@ _evas_async_events_process_single(void) int ret, wakeup; ret = read(_fd_read, &wakeup, sizeof(int)); + if (ret < 0) + { + switch (errno) + { + case EBADF: + case EINVAL: + case EIO: + case EISDIR: + _fd_read = -1; + } + + return ret; + } + if (ret == sizeof(int)) { Evas_Event_Async *ev; unsigned int len, max; + int nr; eina_lock_take(&async_lock); @@ -144,6 +159,7 @@ _evas_async_events_process_single(void) eina_lock_release(&async_lock); DBG("Evas async events queue length: %u", len); + nr = len; while (len > 0) { @@ -152,22 +168,10 @@ _evas_async_events_process_single(void) len--; } - return 1; + return nr; } - if (ret < 0) - { - switch (errno) - { - case EBADF: - case EINVAL: - case EIO: - case EISDIR: - _fd_read = -1; - } - } - - return ret; + return 0; } EAPI int