When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies

This commit is contained in:
Pieter Noordhuis
2010-10-28 16:52:16 +01:00
parent 5e78edb350
commit a3a323e0e5
2 changed files with 5 additions and 1 deletions

View File

@ -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 ||