mirror of
https://github.com/fluencelabs/redis
synced 2025-06-21 13:01:32 +00:00
backtrace support removed: unreliable stack trace :(
This commit is contained in:
15
redis.c
15
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__
|
||||
|
Reference in New Issue
Block a user