diff options
Diffstat (limited to 'src/lib/eio/eio_main.c')
-rw-r--r-- | src/lib/eio/eio_main.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/lib/eio/eio_main.c b/src/lib/eio/eio_main.c index f10f519672..de050f2a2f 100644 --- a/src/lib/eio/eio_main.c +++ b/src/lib/eio/eio_main.c | |||
@@ -56,6 +56,7 @@ static Eina_Spinlock memory_pool_lock; | |||
56 | static Eina_Lock memory_pool_mutex; | 56 | static Eina_Lock memory_pool_mutex; |
57 | static Eina_Condition memory_pool_cond; | 57 | static Eina_Condition memory_pool_cond; |
58 | static Eina_Bool memory_pool_suspended = 1; | 58 | static Eina_Bool memory_pool_suspended = 1; |
59 | static Efl_Io_Manager *io_manager = NULL; | ||
59 | 60 | ||
60 | static void * | 61 | static void * |
61 | _eio_pool_malloc(Eio_Alloc_Pool *pool) | 62 | _eio_pool_malloc(Eio_Alloc_Pool *pool) |
@@ -317,9 +318,12 @@ eio_init(void) | |||
317 | 318 | ||
318 | efreet_mime_init(); | 319 | efreet_mime_init(); |
319 | 320 | ||
321 | io_manager = eo_add(EFL_IO_MANAGER_CLASS, ecore_main_loop_get()); | ||
322 | efl_loop_register(ecore_main_loop_get(), EFL_IO_MANAGER_CLASS, io_manager); | ||
323 | |||
320 | eina_log_timing(_eio_log_dom_global, | 324 | eina_log_timing(_eio_log_dom_global, |
321 | EINA_LOG_STATE_STOP, | 325 | EINA_LOG_STATE_STOP, |
322 | EINA_LOG_STATE_INIT); | 326 | EINA_LOG_STATE_INIT); |
323 | 327 | ||
324 | return _eio_init_count; | 328 | return _eio_init_count; |
325 | 329 | ||
@@ -353,6 +357,9 @@ eio_shutdown(void) | |||
353 | EINA_LOG_STATE_START, | 357 | EINA_LOG_STATE_START, |
354 | EINA_LOG_STATE_SHUTDOWN); | 358 | EINA_LOG_STATE_SHUTDOWN); |
355 | 359 | ||
360 | eo_del(io_manager); | ||
361 | io_manager = NULL; | ||
362 | |||
356 | EINA_LIST_FOREACH(tracked_thread, l, f) | 363 | EINA_LIST_FOREACH(tracked_thread, l, f) |
357 | ecore_thread_cancel(f->thread); | 364 | ecore_thread_cancel(f->thread); |
358 | 365 | ||