[Python-Dev] Signal-resistant code (was: Two random and nearly unrelated ideas)
Guido van Rossum
guido@python.org
Wed, 04 Sep 2002 16:48:11 -0400
[Jack]
> Hmm, and when I think of it I don't think it's even possible to restart
> safely. What if I do a read() on a socket, and I request more bytes
> than the available physical memory (but less than VM, of course)? The
> kernel simply doesn't have anywhere to store the bytes other than my
> buffer, and if it has to return EINTR then >POOF< these bytes are gone
> forever.
I think that if any bytes have already been copied into your buffer,
you don't get an EINTR, you get a short read.
--Guido van Rossum (home page: http://www.python.org/~guido/)