summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_malloc.c
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2020-09-29 22:58:04 +0300
committerMax Romanov <max.romanov@nginx.com>2020-09-29 22:58:04 +0300
commit61eba6eef1558ed741d2bf5f1f3f5bc0481e587a (patch)
tree07b3c9dc16872261158624a6d1d0594d1eca05c2 /src/nxt_malloc.c
parentc721a5378dd467054f672a40e677be56bad53c4d (diff)
downloadunit-61eba6eef1558ed741d2bf5f1f3f5bc0481e587a.tar.gz
unit-61eba6eef1558ed741d2bf5f1f3f5bc0481e587a.tar.bz2
Wrapping libunit's malloc() and free() calls for logging purposes.
This change aids heap usage analysis in applications. The alloc and free functions are also required for lvlhash due to the upcoming threading support, because using main nxt_memalign() and nxt_free() isn't safe in a multithreaded app environment. The reason is that these functions may use thread-local structures which aren't initialized properly in applications.
Diffstat (limited to 'src/nxt_malloc.c')
-rw-r--r--src/nxt_malloc.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/nxt_malloc.c b/src/nxt_malloc.c
index 910ef7cd..fed58e96 100644
--- a/src/nxt_malloc.c
+++ b/src/nxt_malloc.c
@@ -81,6 +81,22 @@ nxt_realloc(void *p, size_t size)
}
+/* nxt_lvlhsh_* functions moved here to avoid references from nxt_lvlhsh.c. */
+
+void *
+nxt_lvlhsh_alloc(void *data, size_t size)
+{
+ return nxt_memalign(size, size);
+}
+
+
+void
+nxt_lvlhsh_free(void *data, void *p)
+{
+ nxt_free(p);
+}
+
+
#if (NXT_DEBUG)
void