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)
downloadefl-b047bf7f641d297a5613e889e83aa5466ec3a575.tar.gz
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;
static Eina_Lock memory_pool_mutex;
static Eina_Condition memory_pool_cond;
static Eina_Bool memory_pool_suspended = 1;
+static Efl_Io_Manager *io_manager = NULL;
static void *
_eio_pool_malloc(Eio_Alloc_Pool *pool)
@@ -317,9 +318,12 @@ eio_init(void)
efreet_mime_init();
+ io_manager = eo_add(EFL_IO_MANAGER_CLASS, ecore_main_loop_get());
+ efl_loop_register(ecore_main_loop_get(), EFL_IO_MANAGER_CLASS, io_manager);
+
eina_log_timing(_eio_log_dom_global,
- EINA_LOG_STATE_STOP,
- EINA_LOG_STATE_INIT);
+ EINA_LOG_STATE_STOP,
+ EINA_LOG_STATE_INIT);
return _eio_init_count;
@@ -353,6 +357,9 @@ eio_shutdown(void)
EINA_LOG_STATE_START,
EINA_LOG_STATE_SHUTDOWN);
+ eo_del(io_manager);
+ io_manager = NULL;
+
EINA_LIST_FOREACH(tracked_thread, l, f)
ecore_thread_cancel(f->thread);