# 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
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);
signal(SIGHUP, SIG_IGN);
signal(SIGPIPE, SIG_IGN);
- signal(SIGSEGV, onSigsegv);
- signal(SIGBUS, onSigsegv);
server.clients = listCreate();
server.slaves = listCreate();
}
}
-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__