cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b5fedfad7e7f5b569388a43df5adc5d6cd197bce
commit b5fedfad7e7f5b569388a43df5adc5d6cd197bce Author: Cedric Bail <ced...@osg.samsung.com> Date: Wed Nov 23 16:50:36 2016 -0800 ecore: use mempool for legacy idler allocation. --- src/lib/ecore/ecore_idler.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/lib/ecore/ecore_idler.c b/src/lib/ecore/ecore_idler.c index 06f3965..66747dd 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; --