Subject: Re: [PATCH v5 11/11] run-command: block signals between fork and execve

From: Eric Wong <[email-masked]>
Date: Wed, 19 Apr 2017 07:48:30 +0000

Johannes Sixt <[email-masked]> wrote:
> Am 19.04.2017 um 01:18 schrieb Brandon Williams:
> >@@ -400,6 +404,53 @@ static char **prep_childenv(const char *const *deltaenv)
> > }
> > #endif
> >
> 
> Does this #endif in this hunk context belong to an #ifndef
> GIT_WINDOWS_NATIVE? If so, I wonder why these new functions are outside
> these brackets? An oversight?

Seems like an oversight, sorry about that.
All the new atfork stuff I added should be protected by
#ifndef GIT_WINDOWS_NATIVE.

Brandon / Johannes: can you fixup on your end?

I wonder if some of this OS-specific code would be more
easily maintained if split out further to OS-specific files,
even at the risk of some code duplication.

And/or perhaps label all #else and #endif statements with
comments, and limit the scope of each ifdef block to be
per-function for with tiny attention spans like me :x

> >+struct atfork_state {
> >+#ifndef NO_PTHREADS
> >+	int cs;
> >+#endif
> >+	sigset_t old;
> >+};
> ...
> -- Hannes