mirror of
https://github.com/fluencelabs/redis
synced 2025-04-24 18:12:13 +00:00
Free protected clients asynchronously.
Related to #4840. Note that when we re-enter the event loop with aeProcessEvents() we don't process timers, nor before/after sleep callbacks, so we should never end calling freeClientsInAsyncFreeQueue() when re-entering the loop.
This commit is contained in:
parent
929c686cce
commit
8e2bbe9105
@ -829,6 +829,13 @@ void unlinkClient(client *c) {
|
||||
void freeClient(client *c) {
|
||||
listNode *ln;
|
||||
|
||||
/* If a client is protected, yet we need to free it right now, make sure
|
||||
* to at least use asynchronous freeing. */
|
||||
if (c->flags & CLIENT_PROTECTED) {
|
||||
freeClientAsync(c);
|
||||
return;
|
||||
}
|
||||
|
||||
/* If it is our master that's beging disconnected we should make sure
|
||||
* to cache the state to try a partial resynchronization later.
|
||||
*
|
||||
|
Loading…
x
Reference in New Issue
Block a user