Interrupted system calls on 5.4

Pete French petefrench at ticketswitch.com
Wed Jul 6 10:25:09 GMT 2005


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.


More information about the freebsd-stable mailing list