]> git.saurik.com Git - redis.git/commitdiff
backtrace support removed: unreliable stack trace :(
authorantirez <antirez@gmail.com>
Thu, 4 Jun 2009 14:50:24 +0000 (16:50 +0200)
committerantirez <antirez@gmail.com>
Thu, 4 Jun 2009 14:50:24 +0000 (16:50 +0200)
Makefile
redis.c

index 1d4b4e7419a09dac9e27c8e24b547efa4a1a3a15..00c0f226c69c33f08487307712b36659b626b314 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # This file is released under the BSD license, see the COPYING file
 
 DEBUG?= -g
-CFLAGS?= -std=c99 -pedantic -O -Wall -W -DSDS_ABORT_ON_OOM
+CFLAGS?= -std=c99 -pedantic -O2 -Wall -W -DSDS_ABORT_ON_OOM
 CCOPT= $(CFLAGS)
 
 OBJ = adlist.o ae.o anet.o dict.o redis.o sds.o zmalloc.o lzf_c.o lzf_d.o pqsort.o
diff --git a/redis.c b/redis.c
index 3a9cfc60e3ff6fdd052666c8ad3ce86140a5d957..a8b5e2f2cffaffb78ca05ed9d54801ba3cf74295 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -315,7 +315,6 @@ static time_t getExpire(redisDb *db, robj *key);
 static int setExpire(redisDb *db, robj *key, time_t when);
 static void updateSalvesWaitingBgsave(int bgsaveerr);
 static void freeMemoryIfNeeded(void);
-static void onSigsegv(int sig);
 
 static void authCommand(redisClient *c);
 static void pingCommand(redisClient *c);
@@ -894,8 +893,6 @@ static void initServer() {
 
     signal(SIGHUP, SIG_IGN);
     signal(SIGPIPE, SIG_IGN);
-    signal(SIGSEGV, onSigsegv);
-    signal(SIGBUS, onSigsegv);
 
     server.clients = listCreate();
     server.slaves = listCreate();
@@ -4064,18 +4061,6 @@ static void debugCommand(redisClient *c) {
     }
 }
 
-static void onSigsegv(int sig) {
-    void *trace[25];
-    int n = backtrace(trace, 25);
-    char **symbols = backtrace_symbols(trace, n);
-
-    redisLog(REDIS_WARNING,"Got %s!!! Redis crashed, backtrace:",
-        sig == SIGSEGV ? "SIGSEGV" : "SIGBUS");
-    for (int i = 0; i < n; i++)
-        redisLog(REDIS_WARNING,symbols[i]);
-    exit(1);
-}
-
 /* =================================== Main! ================================ */
 
 #ifdef __linux__