bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=062f6cabdd0cb7ca96de92cbd149f7a23af7d9b7

commit 062f6cabdd0cb7ca96de92cbd149f7a23af7d9b7
Author: Mike Blumenkrantz <[email protected]>
Date:   Tue Jun 26 16:42:04 2018 -0400

    eio/fallback: remove intermediate idler
    
    for some reason, the fallback thread would exit -> create timer ->
    create idler -> create thread; the existence of the idler makes little
    sense and introduces variability in the timer interval
    
    @fix
    
    Differential Revision: https://phab.enlightenment.org/D6441
---
 src/lib/eio/eio_monitor_poll.c | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/src/lib/eio/eio_monitor_poll.c b/src/lib/eio/eio_monitor_poll.c
index 45e3281615..7bb5212d51 100644
--- a/src/lib/eio/eio_monitor_poll.c
+++ b/src/lib/eio/eio_monitor_poll.c
@@ -44,7 +44,6 @@ struct _Eio_Monitor_Backend
    Eina_Hash *children;
 
    Ecore_Timer *timer;
-   Ecore_Idler *idler;
    Ecore_Thread *work;
 
    int version;
@@ -251,26 +250,16 @@ _eio_monitor_fallback_cancel_cb(void *data, Ecore_Thread 
*thread EINA_UNUSED)
 }
 
 static Eina_Bool
-_eio_monitor_fallback_idler_cb(void *data)
+_eio_monitor_fallback_timer_cb(void *data)
 {
    Eio_Monitor_Backend *backend = data;
 
-   backend->idler = NULL;
+   backend->timer = NULL;
+   eina_hash_set(timer_hash, &backend, NULL);
    backend->work = ecore_thread_run(_eio_monitor_fallback_heavy_cb,
                                     _eio_monitor_fallback_end_cb,
                                     _eio_monitor_fallback_cancel_cb,
                                     backend);
-   return EINA_FALSE;
-}
-
-static Eina_Bool
-_eio_monitor_fallback_timer_cb(void *data)
-{
-   Eio_Monitor_Backend *backend = data;
-
-   backend->timer = NULL;
-   eina_hash_set(timer_hash, &backend, NULL);
-   backend->idler = ecore_idler_add(_eio_monitor_fallback_idler_cb, backend);
 
    return EINA_FALSE;
 }

-- 


Reply via email to