summaryrefslogtreecommitdiff
path: root/src/lib/eio
diff options
context:
space:
mode:
authorCedric BAIL <cedric@osg.samsung.com>2016-06-16 15:14:12 -0700
committerCedric BAIL <cedric@osg.samsung.com>2016-06-22 13:19:13 -0700
commitb047bf7f641d297a5613e889e83aa5466ec3a575 (patch)
treed4dd4627a258c8158748133014937d6ec8768b68 /src/lib/eio
parent10aadafcfd01d972a50fb9e1e6b3d3c28924feb0 (diff)
eio: register one Efl_Io_Manager by default on the main loop at init time.
Diffstat (limited to 'src/lib/eio')
-rw-r--r--src/lib/eio/eio_main.c11
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;
56static Eina_Lock memory_pool_mutex; 56static Eina_Lock memory_pool_mutex;
57static Eina_Condition memory_pool_cond; 57static Eina_Condition memory_pool_cond;
58static Eina_Bool memory_pool_suspended = 1; 58static Eina_Bool memory_pool_suspended = 1;
59static Efl_Io_Manager *io_manager = NULL;
59 60
60static void * 61static 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