diff mercurial/mpatch.h @ 32687:12941a782928

dispatch: do not close stdout and stderr, just flush() instead Since 3a4c0905f357 "util: always force line buffered stdout when stdout is a tty", we have two file objects attached to the same STDOUT_FILENO. If one is closed, the underlying file descriptor is also closed, and writing to the other file object would crash the Python interpreter in a hard way, at least on Windows. So, it seems safer to not close the standard streams. This also matches the behavior of the default sys.stdout/stderr.close(), which never close the FILE* streams in C layer. https://hg.python.org/cpython/file/v2.7.13/Python/sysmodule.c#l1401
author Yuya Nishihara <yuya@tcha.org>
date Sun, 23 Apr 2017 00:31:29 +0900
parents 155f0cc3f813
children 761355833867
line wrap: on
line diff