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 vitaly
Recipients gregory.p.smith, pitrou, vitaly
Date 2012-09-11.17:52:47
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1347385968.8.0.625404409147.issue15918@psf.upfronthosting.co.za>
In-reply-to
Content
My bug report refers to the following code block in subprocess.py. The problem is the same in 2.6.7 and 2.7.3:

=== From subprocess.py in Python 2.7.3 Source Distribution:
                # Wait for exec to fail or succeed; possibly raising exception
                # Exception limited to 1M
                data = _eintr_retry_call(os.read, errpipe_read, 1048576)
            finally:
                # be sure the FD is closed no matter what
                os.close(errpipe_read)
===


However, Python 3.2.3 appears to be doing this correctly; it loops, gathers the data from multiple os.read calls, and doesn't make huge (1048576) os.read requests:

=== from subprocess.py in 3.2.3 source distribution
                # Wait for exec to fail or succeed; possibly raising an
                # exception (limited in size)
                data = bytearray()
                while True:
                    part = _eintr_retry_call(os.read, errpipe_read, 50000)
                    data += part
                    if not part or len(data) > 50000:
                        break

===
History
Date User Action Args
2012-09-11 17:52:48vitalysetrecipients: + vitaly, gregory.p.smith, pitrou
2012-09-11 17:52:48vitalysetmessageid: <1347385968.8.0.625404409147.issue15918@psf.upfronthosting.co.za>
2012-09-11 17:52:48vitalylinkissue15918 messages
2012-09-11 17:52:47vitalycreate