ilmControl: control_thread checks context validity more often
authorMarcus Fritzsch <marcus.fritzsch@xse.de>
Tue, 22 Jul 2014 09:08:00 +0000 (11:08 +0200)
committerNobuhiko Tanibata <NOBUHIKO_TANIBATA@denso.co.jp>
Tue, 12 Aug 2014 13:15:14 +0000 (22:15 +0900)
Signed-off-by: Marcus Fritzsch <marcus.fritzsch@xse.de>
ivi-layermanagement-api/ilmControl/src/ilm_control_wayland_platform.c

index 2dd05ff..5ca2db8 100644 (file)
@@ -1294,12 +1294,14 @@ control_thread(void *p_ret)
             break;
         }
 
-        lock_context(ctx);
-        while (wl_display_prepare_read_queue(wl->display, wl->queue) != 0)
+        if (wl_display_prepare_read_queue(wl->display, wl->queue) != 0)
         {
+            lock_context(ctx);
             wl_display_dispatch_queue_pending(wl->display, wl->queue);
+            unlock_context(ctx);
+
+            continue;
         }
-        unlock_context(ctx);
 
         if (wl_display_flush(wl->display) == -1)
         {