Message 151886 - Python tracker

Message151886

Author neologix
Recipients brandjon, jnoller, neologix, pitrou
Date 2012-01-24.09:07:38
SpamBayes Score 9.824919e-13
Marked as misclassified No
Message-id <CAH_1eM2GDAgDa_R7wOn2fpBC-YtW_6qdY1hbudVB0TJ9SRCanA@mail.gmail.com>
In-reply-to <1327338603.79.0.307755692134.issue13812@psf.upfronthosting.co.za>
Content
> I propose applying the following patch.

The test looks good to me (except we don't remove TESTFN explicitely,
but I'm not sure it's really necessary).

As for the patch, couldn't we put all the file stream flushing in one place?

stdout and stderr are already flushed on Unix (which explains why this
only happens on Windows: the libc puts non-tty streams in _IOFBF, so
this wouldn't work without explicit flushing neither).

Lib/multiprocessing/forking.py:Popen.__init__:
           code = process_obj._bootstrap()
           sys.stdout.flush()
           sys.stderr.flush()
           os._exit(code)

Also, there's already a flush() a couple lines above (in _bootstrap):
           sys.stderr.write(e.args[0] + '\n')
           sys.stderr.flush()

So I'd suggest to just put:

           sys.stdout.flush()
           sys.stderr.flush()

At the end of _bootstrap, and remove the flushing done by
Popen.__init__ on Unix.
History
Date User Action Args
2012-01-24 09:07:40neologixsetrecipients: + neologix, pitrou, jnoller, brandjon
2012-01-24 09:07:39neologixlinkissue13812 messages
2012-01-24 09:07:38neologixcreate