mirror of
https://github.com/fluencelabs/redis
synced 2025-04-11 19:56:03 +00:00
When REDIS_CLOSE_AFTER_REPLY is set, there may never be new replies
This commit is contained in:
parent
5e78edb350
commit
a3a323e0e5
@ -55,7 +55,12 @@ redisClient *createClient(int fd) {
|
|||||||
return c;
|
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) {
|
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->fd <= 0) return REDIS_ERR;
|
||||||
if (c->bufpos == 0 && listLength(c->reply) == 0 &&
|
if (c->bufpos == 0 && listLength(c->reply) == 0 &&
|
||||||
(c->replstate == REDIS_REPL_NONE ||
|
(c->replstate == REDIS_REPL_NONE ||
|
||||||
|
@ -893,7 +893,6 @@ int processCommand(redisClient *c) {
|
|||||||
* go through checking for replication and QUIT will cause trouble
|
* go through checking for replication and QUIT will cause trouble
|
||||||
* when FORCE_REPLICATION is enabled and would be implemented in
|
* when FORCE_REPLICATION is enabled and would be implemented in
|
||||||
* a regular command proc. */
|
* a regular command proc. */
|
||||||
redisAssert(!(c->flags & REDIS_CLOSE_AFTER_REPLY));
|
|
||||||
if (!strcasecmp(c->argv[0]->ptr,"quit")) {
|
if (!strcasecmp(c->argv[0]->ptr,"quit")) {
|
||||||
addReply(c,shared.ok);
|
addReply(c,shared.ok);
|
||||||
c->flags |= REDIS_CLOSE_AFTER_REPLY;
|
c->flags |= REDIS_CLOSE_AFTER_REPLY;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user