Re: [PATCH 0/3] mingw: introduce a way to avoid std handle inheritance
- From
Jonathan Nieder <jrnieder@gmail.com>
- Date
- Oct 30, 2017, 20:55 UTC
- Message-ID
- <20171030205522.hur26cumwusk7wwa@aiede.mtv.corp.google.com>
- In-Reply-To
- <cover.1509382976.git.johannes.schindelin@gmx.de>
Hi,
Johannes Schindelin wrote:
Show 16 quoted lines
> Particularly when calling Git from applications, such as Visual Studio, > it is important that stdin/stdout/stderr are closed properly. However, > when spawning processes on Windows, those handles must be marked as > inheritable if we want to use them, but that flag is a global flag and > may very well be used by other spawned processes which then do not know > to close those handles. > > As a workaround, introduce handling for the environment variables > GIT_REDIRECT_STD* to read/write from/to named pipes instead > (conceptually similar to Unix sockets, for you Linux folks). These do > not need to be marked as inheritable, as the process can simply open the > named pipe. No global flags. No problems. > > This feature was introduced as an experimental feature into Git for > Windows v2.11.0(2) and has been tested ever since. I feel it is > well-tested enough that it can be integrated into core Git.
Can this rationale go in the commit messages?
Actually I wouldn't mind if this were all a single patch, with such a rationale in the commit message.
The patches' concept seems sane. I haven't looked closely at the implementation.
Thanks, Jonathan