summaryrefslogtreecommitdiff
path: root/src/t_list.c
diff options
context:
space:
mode:
authorzhaozhao.zz <zhaozhao.zz@alibaba-inc.com>2019-11-22 16:38:49 +0800
committerzhaozhao.zz <zhaozhao.zz@alibaba-inc.com>2019-11-22 16:38:49 +0800
commit6b056d29f31c01188c4758ade8900c847bbd025c (patch)
treef5620fbab01250ca51ec1da8876bba7ccbc0b351 /src/t_list.c
parent2c970532dc47e68efee55082718502e4fa591c7d (diff)
downloadredis-6b056d29f31c01188c4758ade8900c847bbd025c.tar.gz
block: propagate BRPOPLPUSH as RPOPLPUSH when unblock
Diffstat (limited to 'src/t_list.c')
-rw-r--r--src/t_list.c17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/t_list.c b/src/t_list.c
index 9bbd61de3..eaeaa8e48 100644
--- a/src/t_list.c
+++ b/src/t_list.c
@@ -653,20 +653,13 @@ int serveClientBlockedOnList(client *receiver, robj *key, robj *dstkey, redisDb
if (!(dstobj &&
checkType(receiver,dstobj,OBJ_LIST)))
{
- /* Propagate the RPOP operation. */
- argv[0] = shared.rpop;
- argv[1] = key;
- propagate(server.rpopCommand,
- db->id,argv,2,
- PROPAGATE_AOF|
- PROPAGATE_REPL);
rpoplpushHandlePush(receiver,dstkey,dstobj,
value);
- /* Propagate the LPUSH operation. */
- argv[0] = shared.lpush;
- argv[1] = dstkey;
- argv[2] = value;
- propagate(server.lpushCommand,
+ /* Propagate the RPOPLPUSH operation. */
+ argv[0] = shared.rpoplpush;
+ argv[1] = key;
+ argv[2] = dstkey;
+ propagate(server.rpoplpushCommand,
db->id,argv,3,
PROPAGATE_AOF|
PROPAGATE_REPL);