Incorrect handling of EINTR in Bazaar
Andrew Bennetts
andrew.bennetts at canonical.com
Fri Feb 19 01:32:28 GMT 2010
Martin (gzlist) wrote:
[...]
> The socket.error exception isn't a subclass of IOError (and doesn't
> have the errno attribute?) till Python 2.6 so until_no_eintr is
> useless on previous versions.
This part isn't quite right either: file.read in 2.4, 2.5 and 2.6 does raise
IOError on EINTR. So simply removing or disabling until_no_eintr would
regress that case.
e.g. interrupt this blocking read with SIGUSR1:
python2.4 -c 'import os, signal, sys; print os.getpid(); signal.signal(signal.SIGUSR1, lambda *args: None); print repr(sys.stdin.read(3))'
-Andrew.
More information about the bazaar
mailing list