mirror of
http://github.com/valkey-io/valkey
synced 2024-11-22 00:52:38 +00:00
Remove the write handler only if there are no longer objects in the output queue AND if the static buffer is empty. This bug was the cause of a possible server-stop-responding-to-client bug under some specific work load. Thanks to Pieter Noordhuis for spotting and fixing it.
This commit is contained in:
parent
24a1580df5
commit
61f57b6a8f
@ -611,7 +611,7 @@ void sendReplyToClient(aeEventLoop *el, int fd, void *privdata, int mask) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (totwritten > 0) c->lastinteraction = time(NULL);
|
if (totwritten > 0) c->lastinteraction = time(NULL);
|
||||||
if (listLength(c->reply) == 0) {
|
if (c->bufpos == 0 && listLength(c->reply) == 0) {
|
||||||
c->sentlen = 0;
|
c->sentlen = 0;
|
||||||
aeDeleteFileEvent(server.el,c->fd,AE_WRITABLE);
|
aeDeleteFileEvent(server.el,c->fd,AE_WRITABLE);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user