• antirez's avatar
    asyncCloseClientOnOutputBufferLimitReached(): don't free fake clients. · 0c875c77
    antirez authored
    Fake clients are used in special situations and are not linked to the
    normal clients list, freeing them will always result in Redis crashing
    in one way or the other.
    
    It's not common to send replies to fake clients, but we have one usage
    in the modules API. When a client is blocked, we associate to the
    blocked client object (that is safe to manipulate in a thread), a fake
    client that accumulates replies. So because of this bug there was
    the problem described in issue #5443.
    
    The fix was verified to work with the provided example module. To write
    a regression is very hard and unlikely to be triggered in the future.
    0c875c77
networking.c 85 KB