Author methane
Recipients methane
Date 2017-02-21.09:50:53
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1487670654.12.0.413723829989.issue29611@psf.upfronthosting.co.za>
In-reply-to
Content
In C implementation, write() calls underlaying flush() method when write_through=True.

https://github.com/python/cpython/blob/3.6/Modules/_io/textio.c

    if (self->write_through)
        text_needflush = 1;
    if (self->line_buffering &&
        (haslf ||
         PyUnicode_FindChar(text, '\r', 0, PyUnicode_GET_LENGTH(text), 1) != -1))
        needflush = 1;


But pure Python implementation doesn't care write_through option at all.

https://github.com/python/cpython/blob/3.6/Lib/_pyio.py

        self.buffer.write(b)
        if self._line_buffering and (haslf or "\r" in s):
            self.flush()

When PyPy 3.5 is released, this difference may affects PyPy users.
(I hadn't checked how PyPy provide io module.)
History
Date User Action Args
2017-02-21 09:50:54methanesetrecipients: + methane
2017-02-21 09:50:54methanesetmessageid: <1487670654.12.0.413723829989.issue29611@psf.upfronthosting.co.za>
2017-02-21 09:50:54methanelinkissue29611 messages
2017-02-21 09:50:53methanecreate