ecore glib support - if we are not the main ctx owner loop to acquire
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 9 Aug 2017 07:18:10 +0000 (16:18 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 9 Aug 2017 07:19:45 +0000 (16:19 +0900)
the code didn't try acquire every loop if we were not, so it wouldnt
wake up if someone stole context (and then gave it up). found by roy!

@fix

src/lib/ecore/ecore_glib.c

index 7232d15..bcc4b30 100644 (file)
@@ -193,11 +193,8 @@ _ecore_glib_select(int             ecore_fds,
 
    ctx = g_main_context_default();
 
-   if (!g_main_context_acquire(ctx))
-     {
-        while (!g_main_context_is_owner(ctx))
-          g_thread_yield();
-     }
+   while (!g_main_context_acquire(ctx))
+     g_thread_yield();
 
 #if GLIB_CHECK_VERSION(2,32,0)
    g_rec_mutex_lock(_ecore_glib_select_lock);