Re: [PATCH] config.mak.uname: enable OPEN_RETURNS_EINTR for macOS Big Sur
Jeff King <peff@peff.net> writes:
Show 25 quoted lines
> I got another off-list report of the problem. I think we probably want
> to do this on top:
>
> -- >8 --
> Subject: config.mak.uname: enable OPEN_RETURNS_EINTR for macOS Big Sur
>
> We've had mixed reports on whether the latest release of macOS needs
> this Makefile knob set. In most reported cases, there's antivirus
> software running (which one might imagine could cause an open() call to
> be delayed). However, one of the (off-list) reports I've gotten
> indicated that it happened on an otherwise clean install of Big Sur.
>
> Since the symptom is so bad (checkout randomly fails to write several
> fails when the progress meter kicks in), and since the workaround is so
> lightweight (if we don't see EINTR, it's just an extra conditional
> check), let's just turn it on by default.
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> Apparently Big Sur jumped from macOS 10.x to 11.x. But our "uname -r"
> check gives the "Darwin version", in which it is 20.x (following 19.x
> for the previous version). At least according to some sources I found
> online. :) So that is good, because otherwise all of our uname_R checks
> here would have been broken. I don't have a Big Sur machine handy to
> test with, but I believe this should do what we want.
Show 17 quoted lines
> config.mak.uname | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/config.mak.uname b/config.mak.uname
> index e22d4b6d67..d204c20a64 100644
> --- a/config.mak.uname
> +++ b/config.mak.uname
> @@ -124,6 +124,9 @@ ifeq ($(uname_S),Darwin)
> ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 11 && echo 1),1)
> HAVE_GETDELIM = YesPlease
> endif
> + ifeq ($(shell test "`expr "$(uname_R)" : '\([0-9][0-9]*\)\.'`" -ge 20 && echo 1),1)
> + OPEN_RETURNS_EINTR = UnfortunatelyYes
> + endif
> NO_MEMMEM = YesPlease
> USE_ST_TIMESPEC = YesPlease
> HAVE_DEV_TTY = YesPlease