discomfitor pushed a commit to branch enlightenment-0.19. http://git.enlightenment.org/core/enlightenment.git/commit/?id=b75e41908612fbbd0fcbbfbd1a8966113f40e72f
commit b75e41908612fbbd0fcbbfbd1a8966113f40e72f Author: Mike Blumenkrantz <[email protected]> Date: Fri Dec 5 13:52:52 2014 -0500 store eeze_scanner connection poller to avoid creating an infinite number ref T1612 --- src/bin/e_fm/e_fm_main_eeze.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/bin/e_fm/e_fm_main_eeze.c b/src/bin/e_fm/e_fm_main_eeze.c index 289c3b0..b62254b 100644 --- a/src/bin/e_fm/e_fm_main_eeze.c +++ b/src/bin/e_fm/e_fm_main_eeze.c @@ -56,6 +56,7 @@ static Ecore_Con_Server *svr = NULL; static Eet_Data_Descriptor *es_edd = NULL; static Eet_Connection *es_con = NULL; static Eina_Prefix *pfx = NULL; +static Ecore_Poller *scanner_poller = NULL; void e_util_env_set(const char *var, const char *val) @@ -606,8 +607,8 @@ _scanner_add(void *data, int type __UNUSED__, Ecore_Exe_Event_Add *ev) { if (data != ecore_exe_data_get(ev->exe)) return ECORE_CALLBACK_PASS_ON; INF("Scanner started"); - if (_scanner_poll(NULL)) - ecore_poller_add(ECORE_POLLER_CORE, 8, (Ecore_Task_Cb)_scanner_poll, NULL); + if ((!_scanner_poll(NULL)) && (!scanner_poller)) + scanner_poller = ecore_poller_add(ECORE_POLLER_CORE, 8, (Ecore_Task_Cb)_scanner_poll, NULL); return ECORE_CALLBACK_RENEW; } @@ -675,6 +676,7 @@ static Eina_Bool _scanner_con(void *data __UNUSED__, int type __UNUSED__, Ecore_Con_Event_Server_Del *ev __UNUSED__) { _e_fm_main_catch(EFM_MODE_USING_EEZE_MOUNT); + E_FREE_FUNC(scanner_poller, ecore_poller_del); INF("Scanner connected"); es_con = eet_connection_new(_scanner_read, _scanner_write, NULL); return ECORE_CALLBACK_RENEW; @@ -757,6 +759,7 @@ void _e_fm_main_eeze_shutdown(void) { if (scanner) ecore_exe_free(scanner); + E_FREE_FUNC(scanner_poller, ecore_poller_del); eeze_mount_tabs_unwatch(); eeze_shutdown(); ecore_con_shutdown(); --
