forked from enlightenment/efl
Add statistics, gc support to mempool and a workaround path lookup for module.
SVN revision: 36051
This commit is contained in:
parent
0dbb3917b7
commit
f7d92d57a4
|
@ -21,6 +21,7 @@
|
||||||
|
|
||||||
#include "eina_types.h"
|
#include "eina_types.h"
|
||||||
#include "eina_error.h"
|
#include "eina_error.h"
|
||||||
|
#include "eina_module.h"
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @defgroup Memory_Pool_Group Memory Pool
|
* @defgroup Memory_Pool_Group Memory Pool
|
||||||
|
@ -32,6 +33,7 @@ EAPI extern Eina_Error EINA_ERROR_NOT_MEMPOOL_MODULE;
|
||||||
|
|
||||||
EAPI int eina_mempool_init(void);
|
EAPI int eina_mempool_init(void);
|
||||||
EAPI int eina_mempool_shutdown(void);
|
EAPI int eina_mempool_shutdown(void);
|
||||||
|
EAPI Eina_Module_Group * eina_mempool_module_group_get(void);
|
||||||
|
|
||||||
EAPI Eina_Mempool * eina_mempool_new(const char *module, const char *context, const char *options, ...);
|
EAPI Eina_Mempool * eina_mempool_new(const char *module, const char *context, const char *options, ...);
|
||||||
EAPI void eina_mempool_delete(Eina_Mempool *mp);
|
EAPI void eina_mempool_delete(Eina_Mempool *mp);
|
||||||
|
@ -40,6 +42,9 @@ EAPI void * eina_mempool_realloc(Eina_Mempool *mp, void *element, unsigned int s
|
||||||
EAPI void * eina_mempool_alloc(Eina_Mempool *mp, unsigned int size);
|
EAPI void * eina_mempool_alloc(Eina_Mempool *mp, unsigned int size);
|
||||||
EAPI void eina_mempool_free(Eina_Mempool *mp, void *element);
|
EAPI void eina_mempool_free(Eina_Mempool *mp, void *element);
|
||||||
|
|
||||||
|
EAPI void eina_mempool_gc(Eina_Mempool *mp);
|
||||||
|
EAPI void eina_mempool_statistics(Eina_Mempool *mp);
|
||||||
|
|
||||||
/** @} */
|
/** @} */
|
||||||
|
|
||||||
#endif /* EINA_MEMPOOL_H_ */
|
#endif /* EINA_MEMPOOL_H_ */
|
||||||
|
|
|
@ -123,6 +123,12 @@ eina_mempool_shutdown(void)
|
||||||
return _init_count;
|
return _init_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Module_Group *
|
||||||
|
eina_mempool_module_group_get(void)
|
||||||
|
{
|
||||||
|
return _group;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
@ -185,3 +191,19 @@ EAPI void eina_mempool_free(Eina_Mempool *mp, void *element)
|
||||||
|
|
||||||
mp->backend->free(mp->backend_data, element);
|
mp->backend->free(mp->backend_data, element);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void eina_mempool_gc(Eina_Mempool *mp)
|
||||||
|
{
|
||||||
|
assert(mp);
|
||||||
|
assert(mp->backend->garbage_collect);
|
||||||
|
|
||||||
|
mp->backend->garbage_collect(mp->backend_data);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI void eina_mempool_statistics(Eina_Mempool *mp)
|
||||||
|
{
|
||||||
|
assert(mp);
|
||||||
|
assert(mp->backend->statistics);
|
||||||
|
|
||||||
|
mp->backend->statistics(mp->backend_data);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue