ecore_wl: read events only when fd_handler has READ flag. 42/139142/3 accepted/tizen/unified/20170719.004634 submit/tizen/20170718.002809
authorBoram Park <boram1288.park@samsung.com>
Mon, 17 Jul 2017 12:00:47 +0000 (21:00 +0900)
committerGerrit Code Review <gerrit@review.ap-northeast-2.compute.internal>
Tue, 18 Jul 2017 00:13:25 +0000 (00:13 +0000)
fd_handler can be called when WRITE|ERROR flags are set. In these case, we
shouldn't call wl_display_read_event. Otherwise, the main thread will be
deadlock by wl_display_read_event because there is no event to read in
wayland fd.

Change-Id: Idfeeedf800028b9ee5e65debcf6f8a196aa0670a

src/lib/ecore_wayland/ecore_wl.c

index f9060f9..6817a17 100644 (file)
@@ -951,7 +951,7 @@ static void
 _ecore_wl_cb_awake(void *data)
 {
    Ecore_Wl_Display *ewd;
-   Ecore_Fd_Handler_Flags flags = ECORE_FD_READ|ECORE_FD_WRITE|ECORE_FD_ERROR;
+   Ecore_Fd_Handler_Flags flags = ECORE_FD_READ;
 
    if (_ecore_wl_fatal_error) return;
    if (!(ewd = data)) return;