I've noted in the past the socket code lacks a few check for EINTR, I've a revised one here if anyone ones to look at it. Boring review of each syscall and determining if the man page says EINTR is a valid error code, then writing the retry logic.
On 10-Feb-09, at 8:11 PM, Andreas Raab wrote:
But regardless of the above, I guess the point here is that this is really a buggy library if it doesn't wrap each and every syscall into such a test, no? Is the Unix VM generally doing this? Are there mitigating factors where you can be pretty sure it won't happen or particularly bad things (for example having syscalls that take several milliseconds with an itimer interrupt set to 1ms resolution or so?). Do you know if heavy network activity affects this behavior?
-- = = = ======================================================================== John M. McIntosh johnmci@smalltalkconsulting.com Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ========================================================================