From d174eed5d7496b6af767f9c814d93832e9be0c3a Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Tue, 27 Mar 2012 16:54:53 +0200
Subject: [PATCH] define zlibc_free() in a way that is not shadowed by
 jemalloc.

---
 src/zmalloc.c | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/zmalloc.c b/src/zmalloc.c
index 5e5598cf1..79b561586 100644
--- a/src/zmalloc.c
+++ b/src/zmalloc.c
@@ -30,6 +30,15 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+
+/* This function provide us access to the original libc free(). This is useful
+ * for instance to free results obtained by backtrace_symbols(). We need
+ * to define this function before including zmalloc.h that may shadow the
+ * free implementation if we use jemalloc or another non standard allocator. */
+void zlibc_free(void *ptr) {
+    free(ptr);
+}
+
 #include <string.h>
 #include <pthread.h>
 #include "config.h"
@@ -227,10 +236,6 @@ void zmalloc_enable_thread_safeness(void) {
     zmalloc_thread_safe = 1;
 }
 
-void zlibc_free(void *ptr) {
-    free(ptr);
-}
-
 /* Get the RSS information in an OS-specific way.
  *
  * WARNING: the function zmalloc_get_rss() is not designed to be fast