Since moving from 4.11 to 5.4 I have started seeing the occasional write to a socket return with EINTR. This puzzles me, as looking at the man page for siginterrupt it says that restarting the system call is the default behaviour (and has been since BSD 4.2) if no data has been transferred. If data *has* been transferred then I will simply get a short write returned. So by my reading I should never see an EINTR in the default case - and indeed I didn't under 4.11 - but under 5.4 I do. Is this a failure of my understanding somewhere along the line or is there some kind of problem here ? -pcf.