summaryrefslogtreecommitdiff
path: root/src/redis.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/redis.c')
-rw-r--r--src/redis.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/redis.c b/src/redis.c
index 3b3711f51..a4c87961e 100644
--- a/src/redis.c
+++ b/src/redis.c
@@ -1328,7 +1328,7 @@ void freeMemoryIfNeeded(void) {
if (tryFreeOneObjectFromFreelist() == REDIS_OK) continue;
for (j = 0; j < server.dbnum; j++) {
int minttl = -1;
- robj *minkey = NULL;
+ sds minkey = NULL;
struct dictEntry *de;
if (dictSize(server.db[j].expires)) {
@@ -1346,10 +1346,11 @@ void freeMemoryIfNeeded(void) {
}
}
- dictDelete(server.db[j].expires,minkey);
- dictDelete(server.db[j].dict,minkey);
- server.db[j].expired_count++;
- server.db[j].prematurely_expired_count++;
+ if (dictDelete(server.db[j].expires,minkey) == DICT_OK &&
+ dictDelete(server.db[j].dict,minkey) == DICT_OK) {
+ server.db[j].expired_count++;
+ server.db[j].prematurely_expired_count++;
+ }
}
}
if (!freed) return; /* nothing to free... */
@@ -1547,6 +1548,8 @@ void setupSigTermAction(void) {
#else /* HAVE_BACKTRACE */
void setupSigSegvAction(void) {
}
+void setupSigTermAction(void) {
+}
#endif /* HAVE_BACKTRACE */
/* The End */