30 lines
728 B
C
30 lines
728 B
C
#include "mempool.h"
|
|
#include <stddef.h>
|
|
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <jemalloc/jemalloc.h>
|
|
|
|
mp_pool_t global_mempool;
|
|
|
|
void *kvs_malloc(size_t size) {
|
|
#if MEMORY_SELECT_MALLOC == MEMORY_USE_DEFAULT
|
|
return malloc(size);
|
|
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
|
|
return mp_alloc(size);
|
|
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_JEMALLOC
|
|
return je_malloc(size);
|
|
#endif
|
|
}
|
|
|
|
void kvs_free(void *ptr) {
|
|
#if MEMORY_SELECT_MALLOC == MEMORY_USE_DEFAULT
|
|
free(ptr);
|
|
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_MYMALLOC
|
|
int ret = mp_free(ptr);
|
|
if(ret == MEMPOOL_DOUBLE_FREE){
|
|
printf("double free %p\n", ptr);
|
|
}
|
|
#elif MEMORY_SELECT_MALLOC == MEMORY_USE_JEMALLOC
|
|
je_free(ptr);
|
|
#endif
|
|
} |