Message 237666 - Python tracker (original) (raw)
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.