Skip to content
Snippets Groups Projects
Verified Commit d801e474 authored by Vladimír Čunát's avatar Vladimír Čunát Committed by Tomas Krizek
Browse files

contrib/mempattern: add mm_ctx_delete()

It was a bit weird that the API had mempool creation but no deletion.
parent 70591423
Branches
Tags
1 merge request!1221various refactoring
......@@ -21,6 +21,7 @@
#pragma once
#include <libknot/mm_ctx.h>
#include "contrib/ucw/mempool.h"
#include "lib/defines.h"
#include <assert.h>
#include <stdint.h>
......@@ -55,6 +56,17 @@ void mm_ctx_mempool(knot_mm_t *mm, size_t chunk_size);
/* API in addition to Knot's mempattern. */
/*! \brief New memory pool context, allocated on itself. */
KR_EXPORT knot_mm_t * mm_ctx_mempool2(size_t chunk_size);
/*! \brief Delete a memory pool. OK to call on a non-pool. */
static inline void mm_ctx_delete(knot_mm_t *mm)
{
/* The mp_alloc comparison bears a risk of missing the private symbol from knot. */
if (mm && mm->ctx && mm->alloc == (knot_mm_alloc_t)mp_alloc)
mp_delete(mm->ctx);
}
/*! \brief Readability: avoid const-casts in code. */
static inline void free_const(const void *what)
{
......@@ -78,6 +90,3 @@ static inline void mm_ctx_init_aligned(knot_mm_t *mm, size_t alignment)
}
}
/*! \brief New memory pool context, allocated on itself. */
KR_EXPORT knot_mm_t * mm_ctx_mempool2(size_t chunk_size);
......@@ -11,7 +11,7 @@ mock_cmodule_mod = shared_module(
mock_cmodule_src,
name_prefix: '',
dependencies: libknot,
include_directories: include_directories('../../'),
include_directories: mod_inc_dir,
)
# executables with tests
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment