diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-03-07 18:15:50 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2021-03-07 18:15:50 +0100 |
commit | 723019f727ce53b392389bdadcc1701ae47e6a14 (patch) | |
tree | 148912aacb539269a89b0d473abb9a85466628e0 /include/rbtree.h | |
parent | 8f79a36a592c796c19037a2513c6fc7098698dee (diff) |
Optionally use a pool allocator for rb-tree nodes
This commit restructures the rbtree code to optionally use a pool
allocator for the nodes. The option is made depenend on the presence
of a pre-processor flag.
To the configure script is added an option to enable/disable the use
of custom allocators. It makes sense to still allow the malloc/free
based routes for better ASAN based instrumentation.
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'include/rbtree.h')
-rw-r--r-- | include/rbtree.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/include/rbtree.h b/include/rbtree.h index b1ddcd2..aac175b 100644 --- a/include/rbtree.h +++ b/include/rbtree.h @@ -9,6 +9,7 @@ #include "config.h" #include "sqfs/predef.h" +#include "mempool.h" #include "compat.h" #include <stddef.h> @@ -26,6 +27,10 @@ typedef struct rbtree_node_t { typedef struct rbtree_t { rbtree_node_t *root; +#ifndef NO_CUSTOM_ALLOC + mem_pool_t *pool; +#endif + int (*key_compare)(const void *ctx, const void *lhs, const void *hrs); |