diff --git a/Makefile b/Makefile index 1d4b4e7419a09dac9e27c8e24b547efa4a1a3a15..00c0f226c69c33f08487307712b36659b626b314 100644 --- 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 --- 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__