]> git.saurik.com Git - redis.git/blobdiff - src/t_list.c
redis-cli does no longer try to auto detect if it is used inside a pipe. To read...
[redis.git] / src / t_list.c
index 43d292b6d6642ff7b40a40ac33f2c7191235716b..add1bee167691b1fcc382c1292c728832f6c65bd 100644 (file)
@@ -835,6 +835,13 @@ void blockingPopGenericCommand(redisClient *c, int where) {
         }
     }
 
+    /* If we are inside a MULTI/EXEC and the list is empty the only thing
+     * we can do is treating it as a timeout (even with timeout 0). */
+    if (c->flags & REDIS_MULTI) {
+        addReply(c,shared.nullmultibulk);
+        return;
+    }
+
     /* If the list is empty or the key does not exists we must block */
     timeout = lltimeout;
     if (timeout > 0) timeout += time(NULL);