Antoine Pitrou <pit...@free.fr> added the comment: > Attached is a tentative patch: it checks for pending signals inside > _bufferedreader_read_generic, fileio_readall, and rawiobase_readall. > I tested quickly on regular files and on pipes, and handlers are now > called on time. As a an obvious bonus, it's also easier to interrupt a > script doing I/O with a KeyboardInterrupt (SIGINT). > If nothing seems blatantly wrong about this patch, I will go ahead and > try to write some tests for this.
A potential downside is that the bytes which have been read simply get lost. But since a signal can happen at any moment I guess nothing can be done to protect from it in the general case, anyway. As for the tests, the SignalsTest class in test_io.py is a natural recipient. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue9504> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com