src/server/ucx/allocator.h

changeset 88
73b3485e96f1
parent 71
069c152f6272
--- a/src/server/ucx/allocator.h	Thu Jul 11 14:21:23 2013 +0200
+++ b/src/server/ucx/allocator.h	Tue Jul 16 12:14:13 2013 +0200
@@ -38,20 +38,26 @@
 typedef void*(*ucx_allocator_malloc)(void *pool, size_t n);
 typedef void*(*ucx_allocator_calloc)(void *pool, size_t n, size_t size);
 typedef void*(*ucx_allocator_realloc)(void *pool, void *data, size_t n);
+typedef void(*ucx_allocator_free)(void *pool, void *data);
 
 typedef struct {
     void *pool;
-    ucx_allocator_malloc malloc;
-    ucx_allocator_calloc calloc;
+    ucx_allocator_malloc  malloc;
+    ucx_allocator_calloc  calloc;
     ucx_allocator_realloc realloc;
+    ucx_allocator_free    free;
 } UcxAllocator;
 
+UcxAllocator *ucx_default_allocator();
+
 void *ucx_default_malloc(void *ignore, size_t n);
 void *ucx_default_calloc(void *ignore, size_t n, size_t size);
 void *ucx_default_realloc(void *ignore, void *data, size_t n);
+void ucx_default_free(void *ignore, void *data);
 
 #define UCX_ALLOCATOR_DEFAULT {NULL, \
-        ucx_default_malloc, ucx_default_calloc, ucx_default_realloc}
+        ucx_default_malloc, ucx_default_calloc, ucx_default_realloc, \
+        ucx_default_free }
 
 #ifdef	__cplusplus
 }

mercurial