提交 6fdc78ac 编写于 作者: A antirez

critical bug about glueoutputbuffers=yes fixed. Under load and with pipelining...

critical bug about glueoutputbuffers=yes fixed. Under load and with pipelining and clients disconnecting on the middle of the chat with the server, Redis could block. Now it's ok
上级 32c3a426
......@@ -5,7 +5,6 @@ BEFORE REDIS 1.0.0-rc1
* maxmemory support
* maxclients support
* Resize the expires and Sets hash tables if needed as well? For Sets the right moment to check for this is probably in SREM
* TTL command that returns -1 if a key is not volatile otherwise the time to live of a volatile key in seconds.
* What happens if the saving child gets killed or segfaults instead of ending normally? Handle this.
* Make sinterstore / unionstore / sdiffstore returning the cardinality of the resulting set.
* check 'server.dirty' everywere
......
......@@ -1119,7 +1119,8 @@ static void glueReplyBuffersIfNeeded(redisClient *c) {
listDelNode(c->reply,ln);
}
/* Now the output buffer is empty, add the new single element */
addReplySds(c,sdsnewlen(buf,totlen));
o = createObject(REDIS_STRING,sdsnewlen(buf,totlen));
if (!listAddNodeTail(c->reply,o)) oom("listAddNodeTail");
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册