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

vectorized send() should handle EWOULDBLOCK

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 3.2.14, 3.4.5, 3.5.7
    • Networking
    • None
    • Fully Compatible
    • ALL
    • v3.4, v3.2
    • 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

              andrew.morrow@mongodb.com Andrew Morrow
              jason.carey@mongodb.com Jason Carey
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: