diff options
author | Cedric Bail <cedric@osg.samsung.com> | 2016-11-23 16:50:36 -0800 |
---|---|---|
committer | Cedric Bail <cedric@osg.samsung.com> | 2016-11-23 18:50:19 -0800 |
commit | b5fedfad7e7f5b569388a43df5adc5d6cd197bce (patch) | |
tree | b6a411549b4cc76e124871b47e6386a3e68e9987 | |
parent | 35cdde67d2f07f2413fc093fd8c2d100b2daa0b0 (diff) | |
download | efl-b5fedfad7e7f5b569388a43df5adc5d6cd197bce.tar.gz |
ecore: use mempool for legacy idler allocation.
-rw-r--r-- | src/lib/ecore/ecore_idler.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c index 06f3965a18..66747ddf98 100644 --- a/src/lib/ecore/ecore_idler.c +++ b/src/lib/ecore/ecore_idler.c @@ -41,6 +41,8 @@ _ecore_factorized_idle_process(void *data, const Efl_Event *event EINA_UNUSED) _ecore_factorized_idle_del(idler); } +static Eina_Mempool *idler_mp = NULL; + void * _ecore_factorized_idle_del(Ecore_Idler *idler) { @@ -58,7 +60,7 @@ _ecore_factorized_idle_del(Ecore_Idler *idler) efl_event_callback_array_del(_mainloop_singleton, idler->desc, idler); data = idler->data; - free(idler); + eina_mempool_free(idler_mp, idler); return data; } @@ -80,7 +82,13 @@ _ecore_factorized_idle_add(const Efl_Callback_Array_Item *desc, return NULL; } - ret = malloc(sizeof (Ecore_Idler)); + if (!idler_mp) + { + idler_mp = eina_mempool_add("chained_mempool", "Ecore_Idle*", NULL, sizeof (Ecore_Factorized_Idle), 23); + if (!idler_mp) return NULL; + } + + ret = eina_mempool_malloc(idler_mp, sizeof (Ecore_Factorized_Idle)); if (!ret) return NULL; ret->func = func; |