##// END OF EJS Templates
dispatch: do not close stdout and stderr, just flush() instead...
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

File last commit:

r23934:975c4fc4 stable
r32687:12941a78 default
Show More
hg.bat
19 lines | 475 B | application/x-msdownload | BatchLexer
Paul Moore
Add a batch file driver for Windows
r6513 @echo off
rem Windows Driver script for Mercurial
setlocal
set HG=%~f0
FUJIWARA Katsunori
win32: use explicit path to "python.exe" only if it exists...
r19091 rem Use a full path to Python (relative to this script) if it exists,
rem as the standard Python install does not put python.exe on the PATH...
rem Otherwise, expect that python.exe can be found on the PATH.
Paul Moore
Add a batch file driver for Windows
r6513 rem %~dp0 is the directory of this script
FUJIWARA Katsunori
win32: use explicit path to "python.exe" only if it exists...
r19091 if exist "%~dp0..\python.exe" (
"%~dp0..\python" "%~dp0hg" %*
) else (
python "%~dp0hg" %*
)
Paul Moore
Add a batch file driver for Windows
r6513 endlocal
FUJIWARA Katsunori
hg.bat: return exit code explicitly for indirect invocation...
r23934
exit /b %ERRORLEVEL%