Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-28710

vectorized send() should handle EWOULDBLOCK

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.2.14, 3.4.5, 3.5.7
    • Component/s: Networking
    • Labels:
      None
    • Backwards Compatibility:
      Fully Compatible
    • Operating System:
      ALL
    • Backport Requested:
      v3.4, v3.2
    • Sprint:
      Platforms 2017-05-08

      Description

      The vectorized write path in /util/net/sock.cpp only handles EAGAIN, unlike the non-vectorized path (which also handles EWOULDBLOCK). Both can receive it (from the SO_SNDTIMEO sockopt).

      Failing to handle it means that socket timeouts will be sent up to the rest of the system as SocketException::SEND_ERROR, rather than SEND_TIMEOUT.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: