summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzhaozhao.zz <zhaozhao.zz@alibaba-inc.com>2019-11-08 19:06:51 +0800
committerantirez <antirez@gmail.com>2019-11-19 17:22:21 +0100
commite9fbc960337629985dc9a75ea5634f3a1f492eb8 (patch)
treedb14636a7675e12765cb4efb797e8974106fe099
parent08ec8f71ca6b80e2feef3e8fa9e6adec4196f3f5 (diff)
downloadredis-e9fbc960337629985dc9a75ea5634f3a1f492eb8.tar.gz
expires & blocking: handle ready keys as call()
-rw-r--r--src/blocked.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/blocked.c b/src/blocked.c
index 2b43f2b75..499b63540 100644
--- a/src/blocked.c
+++ b/src/blocked.c
@@ -262,6 +262,9 @@ void handleClientsBlockedOnKeys(void) {
* we can safely call signalKeyAsReady() against this key. */
dictDelete(rl->db->ready_keys,rl->key);
+ server.call_depth++;
+ updateCachedTime(0);
+
/* Serve clients blocked on list key. */
robj *o = lookupKeyWrite(rl->db,rl->key);
if (o != NULL && o->type == OBJ_LIST) {
@@ -458,6 +461,8 @@ void handleClientsBlockedOnKeys(void) {
}
}
+ server.call_depth++;
+
/* Free this item. */
decrRefCount(rl->key);
zfree(rl);