diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/malloc/mallocng/free.c | 2 | ||||
-rw-r--r-- | src/malloc/mallocng/glue.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/malloc/mallocng/free.c b/src/malloc/mallocng/free.c index 418a085c..43f32aad 100644 --- a/src/malloc/mallocng/free.c +++ b/src/malloc/mallocng/free.c @@ -119,7 +119,7 @@ void free(void *p) if (((uintptr_t)(start-1) ^ (uintptr_t)end) >= 2*PGSZ && g->last_idx) { unsigned char *base = start + (-(uintptr_t)start & (PGSZ-1)); size_t len = (end-base) & -PGSZ; - if (len) { + if (len && USE_MADV_FREE) { int e = errno; madvise(base, len, MADV_FREE); errno = e; diff --git a/src/malloc/mallocng/glue.h b/src/malloc/mallocng/glue.h index 151c48b8..77f4c812 100644 --- a/src/malloc/mallocng/glue.h +++ b/src/malloc/mallocng/glue.h @@ -24,6 +24,8 @@ #define realloc __libc_realloc #define free __libc_free +#define USE_MADV_FREE 0 + #if USE_REAL_ASSERT #include <assert.h> #else |