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 martin.panter
Recipients Jonathan Kamens, Paolo Veglia, jmadden, marcjofre, martin.panter, pje
Date 2016-04-09.10:52:17
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1460199138.14.0.452327147696.issue24291@psf.upfronthosting.co.za>
In-reply-to
Content
I suspect this bug does not affect Python 2. See my demo script wsgi-partial.py as evidence, which interrupts a 20 MB write with a signal.

Jason: If you look at Python 2’s file.write() API <https://docs.python.org/2/library/stdtypes.html#file.write>, perhaps that will convince you that it is easy for someone to write a write() method that has no return value.

Anyway, I think this bug is bigger than first thought. It affects most servers based on socketserver.StreamRequestHandler, not just the “wsgiref” one. In Python 3.5 I propose to patch the existing servers to avoid the possibility of truncated writes (patch forthcoming). In 3.6, I am thinking we should change StreamRequestHandler.wfile to prevent write() doing partial writes.
History
Date User Action Args
2016-04-09 10:52:18martin.pantersetrecipients: + martin.panter, pje, jmadden, Jonathan Kamens, marcjofre, Paolo Veglia
2016-04-09 10:52:18martin.pantersetmessageid: <1460199138.14.0.452327147696.issue24291@psf.upfronthosting.co.za>
2016-04-09 10:52:18martin.panterlinkissue24291 messages
2016-04-09 10:52:17martin.pantercreate