interrupting connect(), EINTR, EINPROGRESS, EALREADY, and so on
Hi.
I hope this is not too off-topic for this list. I have discovered discrepancies between various Unix implementations and/or their documentation, and the Single Unix Specification, concerning the behavior of the connect() system call for blocking, stream, sockets, when it is interrupted by a signal. Rather than explain it all, I'll refer you to the Web page I just wrote about this, namely <URL:
http://www.eleves.ens.fr:8080/home/madore/computers/connect-intr.html
Quoted 1 line
.
I believe that the behavior Linux uses is the best, but it seems to be at odds with a literal reading of the Specification. (Details and explanations are on the page I've just mentioned.) I'd like to know a little more about this, e.g., how it was decided and by whom, and when, and what arguments can be given to support it.
Signature · 3 lines
David A. Madore
([email protected],
http://www.eleves.ens.fr:8080/home/madore/ )