]> git.saurik.com Git - redis.git/commitdiff
master-slave replication fixed, it was not listing any key using KEYS command in...
authorantirez <antirez@gmail.com>
Fri, 14 Jan 2011 08:53:57 +0000 (09:53 +0100)
committerantirez <antirez@gmail.com>
Fri, 14 Jan 2011 08:53:57 +0000 (09:53 +0100)
src/db.c

index 1f321c01a130fd1938cee786cea4268589b7db41..669fba13e8e7d7f6b12494920ef965ec735f372a 100644 (file)
--- a/src/db.c
+++ b/src/db.c
@@ -527,6 +527,8 @@ void propagateExpire(redisDb *db, robj *key) {
 int expireIfNeeded(redisDb *db, robj *key) {
     time_t when = getExpire(db,key);
 
 int expireIfNeeded(redisDb *db, robj *key) {
     time_t when = getExpire(db,key);
 
+    if (when < 0) return 0; /* No expire for this key */
+
     /* If we are running in the context of a slave, return ASAP:
      * the slave key expiration is controlled by the master that will
      * send us synthesized DEL operations for expired keys.
     /* If we are running in the context of a slave, return ASAP:
      * the slave key expiration is controlled by the master that will
      * send us synthesized DEL operations for expired keys.
@@ -538,8 +540,6 @@ int expireIfNeeded(redisDb *db, robj *key) {
         return time(NULL) > when;
     }
 
         return time(NULL) > when;
     }
 
-    if (when < 0) return 0;
-
     /* Return when this key has not expired */
     if (time(NULL) <= when) return 0;
 
     /* Return when this key has not expired */
     if (time(NULL) <= when) return 0;