>> Should we also change stdin?
> I don't know, but "python -h" only talks about stderr/stdout.
The manpage of Python2 is clear:
-u Force stdin, stdout and stderr to be totally unbuffered.
stdin is also unbuffered.
> It seems the "name" field of the TextIOWrapper object isn't
> set in create_stdio()
It used only used for buffered output. Without the patch,
sys.stdout.name == sys.stdout.buffer.name == '1' :-/
New patch:
- use create_stdio() to create unbuffered sys.stdin
- rename Py_UnbufferedStdoutFlag to Py_UnbufferedStdioFlag
- replace "Py_UnbufferedStdioFlag++;" by "Py_UnbufferedStdioFlag =
1;"
- change create_stdio(): (...)
Note: there is no test for unbuffered input because I don't know how
to test this (even by manual tests) :-p |