Handle connect() returning EINPROGRESS

Bug #1243650 reported by Martin C. Martin on 2013-10-23
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libmemcached
Undecided
Unassigned

Bug Description

libmemcached is returning errors with errno set to EINPROGRESS. From the connect() man page:

       EINPROGRESS
              The socket is nonblocking and the connection cannot be completed immediately. It is possible to
              select(2) or poll(2) for completion by selecting the socket for writing. After select(2) indicates
              writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether
              connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual
              error codes listed here, explaining the reason for the failure).

So, EINPROGRESS should never cause an error that the user sees. Instead, it should be handled by libmemcached (and errno set back to zero).

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers