• Guy Benoish's avatar
    Fix memory corruption in moduleHandleBlockedClients · c4dc5b80
    Guy Benoish authored
    By using a "circular BRPOPLPUSH"-like scenario it was
    possible the get the same client on db->blocking_keys
    twice (See comment in moduleTryServeClientBlockedOnKey)
    
    The fix was actually already implememnted in
    moduleTryServeClientBlockedOnKey but it had a bug:
    the funxction should return 0 or 1 (not OK or ERR)
    
    Other changes:
    1. Added two commands to blockonkeys.c test module (To
       reproduce the case described above)
    2. Simplify blockonkeys.c in order to make testing easier
    3. cast raxSize() to avoid warning with format spec
    c4dc5b80
server.c 183 KB