It looks as though the change in Python 3 is that an unbuffered file
object opened with fdopen no longer returns exactly size bytes - instead
it focuses on only doing one system call.
This patch will prevent to read the stdin first, then reopening the file
afterward in bubble.py, instead we dup the file in the bootstrap code
and we use the same file descriptor in bubble.py hence we don't need
to use an unbuffered stdin anymore.
It looks as though the change in Python 3 is that an unbuffered file object opened with fdopen no longer returns exactly size bytes - instead it focuses on only doing one system call.
This patch will prevent to read the stdin first, then reopening the file afterward in bubble.py, instead we dup the file in the bootstrap code and we use the same file descriptor in bubble.py hence we don't need to use an unbuffered stdin anymore.