From 7f8305df0fe80f346ec9e6f5c47a34747e7b93a6 Mon Sep 17 00:00:00 2001 From: Robey Pointer Date: Mon, 23 Aug 2010 14:19:26 -0700 Subject: [PATCH] fix code review comments. --- src/db.c | 13 ++++++------- src/redis.c | 13 ++++++++----- src/redis.h | 1 + 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/db.c b/src/db.c index 560ac7349..65a2a9c8e 100644 --- a/src/db.c +++ b/src/db.c @@ -219,9 +219,7 @@ void randomkeyCommand(redisClient *c) { static void addToReply(void *context, robj *keyobj) { redisClient *c = (redisClient *)context; - if (expireIfNeeded(c->db,keyobj) == 0) { - addReplyBulk(c,keyobj); - } + addReplyBulk(c,keyobj); } static void addToList(void *context, robj *keyobj) { @@ -267,7 +265,8 @@ void keysCommand(redisClient *c) { void keystolistCommand(redisClient *c) { sds pattern = c->argv[1]->ptr; - robj *lobj = lookupKeyWrite(c->db,c->argv[2]); + robj *key = c->argv[2]; + robj *lobj = lookupKeyWrite(c->db,key); unsigned long numkeys; if (lobj != NULL) { @@ -275,14 +274,14 @@ void keystolistCommand(redisClient *c) { addReply(c,shared.wrongtypeerr); return; } - dbDelete(c->db,c->argv[2]); + dbDelete(c->db,key); } lobj = createZiplistObject(); - dbAdd(c->db,c->argv[2],lobj); + dbAdd(c->db,key,lobj); numkeys = scanKeys(c->db,pattern,addToList,lobj); addReplyLongLong(c,numkeys); - touchWatchedKey(c->db,c->argv[2]); + touchWatchedKey(c->db,key); server.dirty++; } 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 */ diff --git a/src/redis.h b/src/redis.h index 0a64bf5f9..9b58d12a2 100644 --- a/src/redis.h +++ b/src/redis.h @@ -685,6 +685,7 @@ void zslInsert(zskiplist *zsl, double score, robj *obj); void freeMemoryIfNeeded(void); int processCommand(redisClient *c); void setupSigSegvAction(void); +void setupSigTermAction(void); struct redisCommand *lookupCommand(char *name); void call(redisClient *c, struct redisCommand *cmd); int prepareForShutdown(); -- GitLab