提交 a3a323e0 编写于 作者: P Pieter Noordhuis

When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies

上级 5e78edb3
......@@ -55,7 +55,12 @@ redisClient *createClient(int fd) {
return c;
}
/* Set the event loop to listen for write events on the client's socket.
* Typically gets called every time a reply is built. */
int _installWriteEvent(redisClient *c) {
/* When CLOSE_AFTER_REPLY is set, no more replies may be added! */
redisAssert(!(c->flags & REDIS_CLOSE_AFTER_REPLY));
if (c->fd <= 0) return REDIS_ERR;
if (c->bufpos == 0 && listLength(c->reply) == 0 &&
(c->replstate == REDIS_REPL_NONE ||
......
......@@ -893,7 +893,6 @@ int processCommand(redisClient *c) {
* go through checking for replication and QUIT will cause trouble
* when FORCE_REPLICATION is enabled and would be implemented in
* a regular command proc. */
redisAssert(!(c->flags & REDIS_CLOSE_AFTER_REPLY));
if (!strcasecmp(c->argv[0]->ptr,"quit")) {
addReply(c,shared.ok);
c->flags |= REDIS_CLOSE_AFTER_REPLY;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册