Message 116530 - Python tracker
> Hmm. So under what conditions should it continue, and under what
> conditions should it raise an exception (when errno is EINTR)?
EINTR indicates a temporary failure. In that case it should always retry.
A common macro for handling that might look like this:
#define RETRY_ON_EINTR(x) ({ \
typeof(x) rv; \
do { rv = x; } while (rv < 0 && errno == EINTR); \
rv;\
})
But from what I understand, braces in parentheses are a GCC extension.