Re: [PATCH 3/4] mingw: spawned processes need to inherit only standard handles
From: Johannes Schindelin <hidden>
Date: 2019-11-30 22:10:27
Hi Hannes, On Fri, 29 Nov 2019, Johannes Sixt wrote:
Am 29.11.19 um 14:52 schrieb Johannes Schindelin:quoted
On Thu, 28 Nov 2019, Johannes Sixt wrote:quoted
Am 22.11.19 um 15:41 schrieb Johannes Schindelin via GitGitGadget:quoted
+ !getenv("SUPPRESS_HANDLE_INHERITANCE_WARNING")) {... and the variable isn't set, so we continue here. (But I don't think it is important.)It's actually not that unimportant because ...quoted
quoted
quoted
+ DWORD fl = 0; + int i; + + setenv("SUPPRESS_HANDLE_INHERITANCE_WARNING", "1", 1); + + for (i = 0; i < stdhandles_count; i++) { + HANDLE h = stdhandles[i]; + strbuf_addf(&buf, "handle #%d: %p (type %lx, " + "handle info (%d) %lx\n", i, h, + GetFileType(h), + GetHandleInformation(h, &fl), + fl);... ERANGE happens here in the second iteration, in particular, when strbuf_vaddf needs to grow the buffer. vsnprintf generates it.
Ooops. I meant to ask you about using `NO_GETTEXT` in _this_ context. I could imagine that gettext's `vsnprintf()` version behaves at least slightly differently here, and probably different enough to cause an `ERANGE` in your setup but not in mine. Ciao, Dscho
quoted
quoted
quoted
+ } + strbuf_addstr(&buf, "\nThis is a bug; please report it " + "at\nhttps://github.com/git-for-windows/" + "git/issues/new\n\n" + "To suppress this warning, please set " + "the environment variable\n\n" + "\tSUPPRESS_HANDLE_INHERITANCE_WARNING=1" + "\n"); + }-- Hannes