fd5ec4c sanlock: fix connection processing error path

Authored and Committed by teigland 4 years ago
1 file changed. 11 lines added. 5 lines removed.
    sanlock: fix connection processing error path
    
    Don't close the connection fd in process_cmd_thread_unregistered
    error path, avoiding possible problems like that fixed in
    62ba5d194100f71cbed32214e0aeb76f690f4093.
    Handle it like process_cmd_thread_registered by receiving any
    data, sending an error back to the client, and resume the client.
    
    Call client_free() in the following cases to close
    the client connection instead of doing nothing and
    waiting for a poll error on the connection to clean
    it up later:
    - when recv() returns zero
    - when client_suspend() finds an error
    - when receiving an unknown cmd
    
    These error paths are not exercised by normal usage.
    
        
file modified
+11 -5