Message 237666 - Python tracker (original) (raw)

http://www.madore.org/~david/computers/connect-intr.html

This article contains a program connect_test.c to test how connect() behaves on EINTR. Since it's in the public domain, I attached a copy.

The program contains the comment: "All systems function as expected when TEST_TWO is set."

If TEST_TWO is defined, poll() is used to wait until the socket is writable, and then getsockopt(SO_ERROR) is used to check if the error is now zero, when connect() fails with EINTR.