1. 04 Mar, 2015 3 commits
  2. 02 Mar, 2015 1 commit
  3. 27 Feb, 2015 1 commit
  4. 25 Feb, 2015 4 commits
  5. 24 Feb, 2015 2 commits
  6. 19 Feb, 2015 4 commits
  7. 16 Feb, 2015 1 commit
    • Saied Kazemi's avatar
      Do not call listen() when SO_REUSEADDR is off · 1b4e9058
      Saied Kazemi authored
      For an established TCP connection, the send queue is restored in two
      steps: in step (1), we retransmit the data that was sent before but not
      yet acknowledged, and in step (2), we transmit the data that was never
      sent outside before.  The TCP_REPAIR option is disabled before step (2)
      and re-enabled after step (2) (without this patch).
      
      If the amount of data to be sent in step (2) is large, the TCP_REPAIR
      flag on the socket can remain off for some time (O(milliseconds)).  If a
      listen() is called on another socket bound to the same port during this
      time window, it fails. This is because -- turning TCP_REPAIR off clears
      the SO_REUSEADDR flag on the socket.
      
      This patch adds a mutex (reuseaddr_lock) per port number, so that a
      listen() on a port number does not happen while SO_REUSEADDR for another
      socket on the same port is off.
      
      Thanks to Amey Deshpande <ameyd@google.com> for debugging.
      Signed-off-by: 's avatarSaied Kazemi <saied@google.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      1b4e9058
  8. 13 Feb, 2015 11 commits
  9. 10 Feb, 2015 4 commits
  10. 09 Feb, 2015 5 commits
  11. 29 Jan, 2015 4 commits