diff --git a/legacy/evas/src/lib/canvas/evas_async_events.c b/legacy/evas/src/lib/canvas/evas_async_events.c index 642d44145e..17343e1961 100644 --- a/legacy/evas/src/lib/canvas/evas_async_events.c +++ b/legacy/evas/src/lib/canvas/evas_async_events.c @@ -28,21 +28,21 @@ int evas_async_events_init(void) { int filedes[2]; - + _init_evas_event++; if (_init_evas_event > 1) return _init_evas_event; - + if (pipe(filedes) == -1) { _init_evas_event = 0; return 0; } - + _fd_read = filedes[0]; _fd_write = filedes[1]; - + fcntl(_fd_read, F_SETFL, O_NONBLOCK); - + return _init_evas_event; } @@ -51,12 +51,12 @@ evas_async_events_shutdown(void) { _init_evas_event--; if (_init_evas_event > 0) return _init_evas_event; - + close(_fd_read); close(_fd_write); _fd_read = -1; _fd_write = -1; - + return _init_evas_event; } @@ -79,13 +79,13 @@ evas_async_events_process(void) Evas_Event_Async *ev; int check; int count = 0; - + if (_fd_read == -1) return 0; - + do { check = read(_fd_read, &ev, sizeof (Evas_Event_Async *)); - + if (check == sizeof (Evas_Event_Async *)) { if (ev->func) ev->func((void *)ev->target, ev->type, ev->event_info); @@ -94,9 +94,9 @@ evas_async_events_process(void) } } while (check > 0); - + evas_cache_image_wakeup(); - + if (check < 0) { switch (errno) @@ -108,7 +108,7 @@ evas_async_events_process(void) _fd_read = -1; } } - + return count; #else return 0; @@ -122,27 +122,27 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i Evas_Event_Async *ev; ssize_t check; Eina_Bool result = EINA_FALSE; - + if (!func) return 0; if (_fd_write == -1) return 0; - + ev = calloc(1, sizeof (Evas_Event_Async)); if (!ev) return 0; - + ev->func = func; ev->target = target; ev->type = type; ev->event_info = event_info; - + do { check = write(_fd_write, &ev, sizeof (Evas_Event_Async*)); } while ((check != sizeof (Evas_Event_Async*)) && ((errno == EINTR) || (errno == EAGAIN))); - + evas_cache_image_wakeup(); - + if (check == sizeof (Evas_Event_Async*)) result = EINA_TRUE; else @@ -156,7 +156,7 @@ evas_async_events_put(const void *target, Evas_Callback_Type type, void *event_i _fd_write = -1; } } - + return result; #else func(target, type, event_info);