Jeff King <peff@xxxxxxxx> writes: > 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@xxxxxxxx> > --- > 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. Thanks. > 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