mirror of
https://github.com/fluencelabs/redis
synced 2025-06-22 05:21:33 +00:00
freeMemoryIfNeeded() minor refactoring
This commit is contained in:
@ -1315,3 +1315,24 @@ void asyncCloseClientOnOutputBufferLimitReached(redisClient *c) {
|
||||
sdsfree(client);
|
||||
}
|
||||
}
|
||||
|
||||
/* Helper function used by freeMemoryIfNeeded() in order to flush slaves
|
||||
* output buffers without returning control to the event loop. */
|
||||
void flushSlavesOutputBuffers(void) {
|
||||
listIter li;
|
||||
listNode *ln;
|
||||
|
||||
listRewind(server.slaves,&li);
|
||||
while((ln = listNext(&li))) {
|
||||
redisClient *slave = listNodeValue(ln);
|
||||
int events;
|
||||
|
||||
events = aeGetFileEvents(server.el,slave->fd);
|
||||
if (events & AE_WRITABLE &&
|
||||
slave->replstate == REDIS_REPL_ONLINE &&
|
||||
listLength(slave->reply))
|
||||
{
|
||||
sendReplyToClient(server.el,slave->fd,slave,0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user