mirror of
https://github.com/fluencelabs/redis
synced 2025-04-25 02:22: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) {
|
void freeClient(client *c) {
|
||||||
listNode *ln;
|
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
|
/* If it is our master that's beging disconnected we should make sure
|
||||||
* to cache the state to try a partial resynchronization later.
|
* to cache the state to try a partial resynchronization later.
|
||||||
*
|
*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user