From: "Johannes Schindelin via GitGitGadget" <email@example.com> To: firstname.lastname@example.org Cc: Johannes Schindelin <email@example.com>, Junio C Hamano <firstname.lastname@example.org> Subject: [PATCH 0/4] On Windows, limit which file handles are inherited by spawned child processes Date: Fri, 22 Nov 2019 14:41:01 +0000 [thread overview] Message-ID: <email@example.com> (raw) This is yet another of those patch series that matured in Git for Windows for over a year before being "upstreamed". The problem to be solved: files cannot be deleted on Windows when even one process has an open file handle to it. So when a process opens a temporary file, then spawns a child process that inherits that file handle by mistake, and then the parent process tries to delete the temporary file while the child process is still running, the deletion will fail. (This description is slightly simplified, see the commit message "spawned processes need to inherit only standard handles" for more detail.) Technically, we might want to squash "restrict file handle inheritance only on Windows 7 and later" into "spawned processes need to inherit only standard handles", but while preparing this patch series, I found the story easier to follow with them still being separate. The real reason why I submit this now is that I needed some ready-to-submit patch series as an excuse to test GitGitGadget on https://github.com/git/git . Johannes Schindelin (4): mingw: demonstrate that all file handles are inherited by child processes mingw: work around incorrect standard handles mingw: spawned processes need to inherit only standard handles mingw: restrict file handle inheritance only on Windows 7 and later Documentation/config/core.txt | 6 ++ compat/mingw.c | 140 +++++++++++++++++++++++++++++++--- compat/winansi.c | 12 ++- t/helper/test-run-command.c | 44 +++++++++++ t/t0061-run-command.sh | 4 + 5 files changed, 194 insertions(+), 12 deletions(-) base-commit: d9f6f3b6195a0ca35642561e530798ad1469bd41 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-670%2Fdscho%2Finherit-only-stdhandles-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-670/dscho/inherit-only-stdhandles-v1 Pull-Request: https://github.com/git/git/pull/670 -- gitgitgadget
next reply other threads:[~2019-11-22 14:41 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-22 14:41 Johannes Schindelin via GitGitGadget [this message] 2019-11-22 14:41 ` [PATCH 1/4] mingw: demonstrate that all file handles are inherited by " Johannes Schindelin via GitGitGadget 2019-11-22 14:41 ` [PATCH 2/4] mingw: work around incorrect standard handles Johannes Schindelin via GitGitGadget 2019-11-22 14:41 ` [PATCH 3/4] mingw: spawned processes need to inherit only " Johannes Schindelin via GitGitGadget 2019-11-28 21:48 ` Johannes Sixt 2019-11-29 13:52 ` Johannes Schindelin 2019-11-29 20:40 ` Johannes Schindelin 2019-11-29 22:19 ` Johannes Sixt 2019-11-29 22:37 ` Johannes Sixt 2019-11-30 22:10 ` Johannes Schindelin 2019-11-22 14:41 ` [PATCH 4/4] mingw: restrict file handle inheritance only on Windows 7 and later Johannes Schindelin via GitGitGadget 2019-11-25 5:42 ` [PATCH 0/4] On Windows, limit which file handles are inherited by spawned child processes Junio C Hamano 2019-11-25 16:29 ` Johannes Schindelin
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style List information: http://vger.kernel.org/majordomo-info.html * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --subject='Re: [PATCH 0/4] On Windows, limit which file handles are inherited by spawned child processes' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Code repositories for project(s) associated with this inbox: https://80x24.org/mirrors/git.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).