summaryrefslogtreecommitdiff
path: root/src/blocked.c
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2017-09-08 12:25:06 +0200
committerantirez <antirez@gmail.com>2017-12-01 10:24:24 +0100
commit0adb43b68febc4dfb2acc6818de36504a63162e4 (patch)
tree8ff22876b6075e6482f7be300d41c008085c1601 /src/blocked.c
parent6a1c92d52dd7f3928795de910dc848f71dae5b3c (diff)
downloadredis-0adb43b68febc4dfb2acc6818de36504a63162e4.tar.gz
Streams: XREAD ability to block fixed.
Diffstat (limited to 'src/blocked.c')
-rw-r--r--src/blocked.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/blocked.c b/src/blocked.c
index 376b343d6..fccce35d6 100644
--- a/src/blocked.c
+++ b/src/blocked.c
@@ -134,7 +134,7 @@ void processUnblockedClients(void) {
/* Unblock a client calling the right function depending on the kind
* of operation the client is blocking for. */
void unblockClient(client *c) {
- if (c->btype == BLOCKED_LIST) {
+ if (c->btype == BLOCKED_LIST || c->btype == BLOCKED_STREAM) {
unblockClientWaitingData(c);
} else if (c->btype == BLOCKED_WAIT) {
unblockClientWaitingReplicas(c);
@@ -160,7 +160,7 @@ void unblockClient(client *c) {
* send it a reply of some kind. After this function is called,
* unblockClient() will be called with the same client as argument. */
void replyToBlockedClientTimedOut(client *c) {
- if (c->btype == BLOCKED_LIST) {
+ if (c->btype == BLOCKED_LIST || c->btype == BLOCKED_STREAM) {
addReply(c,shared.nullmultibulk);
} else if (c->btype == BLOCKED_WAIT) {
addReplyLongLong(c,replicationCountAcksByOffset(c->bpop.reploffset));