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
This commit is contained in:
Mike Blumenkrantz 2018-06-26 16:42:04 -04:00 committed by Marcel Hollerbach
parent 1b18a4e679
commit 062f6cabdd
1 changed files with 4 additions and 15 deletions

View File

@ -44,7 +44,6 @@ struct _Eio_Monitor_Backend
Eina_Hash *children;
Ecore_Timer *timer;
Ecore_Idler *idler;
Ecore_Thread *work;
int version;
@ -250,19 +249,6 @@ _eio_monitor_fallback_cancel_cb(void *data, Ecore_Thread *thread EINA_UNUSED)
eina_hash_set(timer_hash, &backend, backend->timer);
}
static Eina_Bool
_eio_monitor_fallback_idler_cb(void *data)
{
Eio_Monitor_Backend *backend = data;
backend->idler = 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)
{
@ -270,7 +256,10 @@ _eio_monitor_fallback_timer_cb(void *data)
backend->timer = NULL;
eina_hash_set(timer_hash, &backend, NULL);
backend->idler = ecore_idler_add(_eio_monitor_fallback_idler_cb, backend);
backend->work = ecore_thread_run(_eio_monitor_fallback_heavy_cb,
_eio_monitor_fallback_end_cb,
_eio_monitor_fallback_cancel_cb,
backend);
return EINA_FALSE;
}