Skip to content
  • Gerrit Renker's avatar
    dccp: Empty the write queue when disconnecting · b569d5a1
    Gerrit Renker authored
    
    
    dccp_disconnect() can be called due to several reasons:
    
     1. when the connection setup failed (inet_stream_connect());
     2. when shutting down (inet_shutdown(), inet_csk_listen_stop());
     3. when aborting the connection (dccp_close() with 0 linger time).
    
    In case (1) the write queue is empty. This patch empties the write queue,
    if in case (2) or (3) it was not yet empty.
    
    This avoids triggering the write-queue BUG_TRAP in sk_stream_kill_queues()
    later on.
    
    It also seems natural to do: when breaking an association, to delete all
    packets that were originally intended for the soon-disconnected end (compare
    with call to tcp_write_queue_purge in tcp_disconnect()).
    
    Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
    b569d5a1