]> git.saurik.com Git - redis.git/blobdiff - deps/jemalloc/src/base.c
Jemalloc updated to 3.0.0.
[redis.git] / deps / jemalloc / src / base.c
index cc85e8494ecbbd16eb45b70420438656118b975f..bafaa7438016b757616fff075adcb3cb517e22c9 100644 (file)
@@ -4,7 +4,7 @@
 /******************************************************************************/
 /* Data. */
 
 /******************************************************************************/
 /* Data. */
 
-malloc_mutex_t base_mtx;
+static malloc_mutex_t  base_mtx;
 
 /*
  * Current pages that are being used for internal memory allocations.  These
 
 /*
  * Current pages that are being used for internal memory allocations.  These
@@ -32,7 +32,7 @@ base_pages_alloc(size_t minsize)
        assert(minsize != 0);
        csize = CHUNK_CEILING(minsize);
        zero = false;
        assert(minsize != 0);
        csize = CHUNK_CEILING(minsize);
        zero = false;
-       base_pages = chunk_alloc(csize, true, &zero);
+       base_pages = chunk_alloc(csize, chunksize, true, &zero);
        if (base_pages == NULL)
                return (true);
        base_next_addr = base_pages;
        if (base_pages == NULL)
                return (true);
        base_next_addr = base_pages;
@@ -66,6 +66,17 @@ base_alloc(size_t size)
        return (ret);
 }
 
        return (ret);
 }
 
+void *
+base_calloc(size_t number, size_t size)
+{
+       void *ret = base_alloc(number * size);
+
+       if (ret != NULL)
+               memset(ret, 0, number * size);
+
+       return (ret);
+}
+
 extent_node_t *
 base_node_alloc(void)
 {
 extent_node_t *
 base_node_alloc(void)
 {
@@ -104,3 +115,24 @@ base_boot(void)
 
        return (false);
 }
 
        return (false);
 }
+
+void
+base_prefork(void)
+{
+
+       malloc_mutex_prefork(&base_mtx);
+}
+
+void
+base_postfork_parent(void)
+{
+
+       malloc_mutex_postfork_parent(&base_mtx);
+}
+
+void
+base_postfork_child(void)
+{
+
+       malloc_mutex_postfork_child(&base_mtx);
+}