This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author vstinner
Recipients Don Hatch, Finkregh, benjamin.peterson, dankegel, doko, draghuram, eric.araujo, ggenellina, jary, marhar, mjpieters, nvetoshkin, r_mosaic, ralph.corderoy, vstinner
Date 2016-11-15.14:45:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1479221145.88.0.169086532086.issue1633941@psf.upfronthosting.co.za>
In-reply-to
Content
Martijn Pieters: Sadly, Python 2 I/O are full of bugs in corner cases :-/

First of all, in most cases, Python 2 uses the libc for I/O, but the libc has known bugs including segfaults:
https://haypo-notes.readthedocs.io/python.html#bugs-in-the-c-stdio-used-by-the-python-i-o

Python 3 is better to handle EINTR. EINTR should now be "fully supported" in Python 3.5 thanks for the PEP 475. I mean in the Python core, I don't expect that any third party implement the PEP 475. Hopefully, most third party module don't implement syscall wrappers themself, but reuse Python which handles EINTR for them.

To come back to Python 2: yeah, we still have to fix issues to make the code more robust in corner cases, and enhance error reporting. It seems like fread() errors are not checked correctly in some places.
History
Date User Action Args
2016-11-15 14:45:45vstinnersetrecipients: + vstinner, doko, mjpieters, ggenellina, draghuram, marhar, r_mosaic, benjamin.peterson, eric.araujo, ralph.corderoy, nvetoshkin, Finkregh, jary, dankegel, Don Hatch
2016-11-15 14:45:45vstinnersetmessageid: <1479221145.88.0.169086532086.issue1633941@psf.upfronthosting.co.za>
2016-11-15 14:45:45vstinnerlinkissue1633941 messages
2016-11-15 14:45:45vstinnercreate