Doing an asynchronous connect in 2.4 seems to have the following
problem:
first connect() returns EINPROGRESS as expected,
second connect() to check whether the socket is connected yet, causes
a SIGPIPE exception.
This problem can be worked around by ignoring SIGPIPE.
However, in 2.5 the problem is more interesting:
first connect() returns EINPROGRESS as expected,
second connect() returns EAGAIN. This is interesting, since EAGAIN is
not mentioned as a possible return value in the connect man page. I am
of course expecting EISCONN as the return value of the second connect.
Anyone got any ideas? Is there a patch?
Neil.