Changed nxt_mp_retain() and nxt_mp_release() interfaces.

This commit is contained in:
Igor Sysoev
2017-12-28 16:01:06 +03:00
parent b59535b22c
commit 497faf1b9a
9 changed files with 72 additions and 65 deletions

View File

@@ -281,6 +281,28 @@ nxt_mp_create(size_t cluster_size, size_t page_alignment, size_t page_size,
}
void
nxt_mp_retain(nxt_mp_t *mp)
{
mp->retain++;
nxt_thread_log_debug("mp %p retain: %uD", mp, mp->retain);
}
void
nxt_mp_release(nxt_mp_t *mp)
{
mp->retain--;
nxt_thread_log_debug("mp %p release: %uD", mp, mp->retain);
if (mp->retain == 0) {
nxt_mp_destroy(mp);
}
}
void
nxt_mp_destroy(nxt_mp_t *mp)
{
@@ -933,43 +955,6 @@ nxt_mp_chunk_free(nxt_mp_t *mp, nxt_mp_block_t *cluster, u_char *p)
}
void *
nxt_mp_retain(nxt_mp_t *mp, size_t size)
{
void *p;
p = nxt_mp_alloc(mp, size);
if (nxt_fast_path(p != NULL)) {
mp->retain++;
nxt_debug_alloc("mp %p retain: %uD", mp, mp->retain);
}
return p;
}
uint32_t
nxt_mp_release(nxt_mp_t *mp, void *p)
{
if (nxt_fast_path(p != NULL)) {
nxt_mp_free(mp, p);
}
mp->retain--;
nxt_debug_alloc("mp %p release: %uD", mp, mp->retain);
if (mp->retain == 0) {
nxt_mp_destroy(mp);
return 0;
}
return mp->retain;
}
void *
nxt_mp_nget(nxt_mp_t *mp, size_t size)
{