Ramsay Jones <ramsay@xxxxxxxxxxxxxxxxxxx> writes: > - renamed FAKE_PREAD_NOT_THREAD_SAFE to NO_THREAD_SAFE_PREAD Sensible. > - when NO_PREAD, set NO_THREAD_SAFE_PREAD in the Makefile, rather > than in git-compat-util.h I think it is a bad change. When compat/ pread gets improved to be thread-safe, this will surely be missed. > - set NO_THREAD_SAFE_PREAD in the non-conditional part of the > cygwin config section (ie not just versions before 1.7.x) Sorry that I missed it, and thanks for fixing it. > I can only test this by using it (all relevant tests pass with or without > this patch, after all), so I have installed it for day-to-day use. I don't > anticipate any problems, but I guess this patch has not actually been > tested yet ... :-D > > HTH > > ATB, > Ramsay Jones > > Makefile | 8 ++++++++ > builtin/index-pack.c | 4 ++-- > 2 files changed, 10 insertions(+), 2 deletions(-) > > diff --git a/Makefile b/Makefile > index 4592f1f..67d761e 100644 > --- a/Makefile > +++ b/Makefile > @@ -158,6 +158,9 @@ all:: > # Define NO_PREAD if you have a problem with pread() system call (e.g. > # cygwin1.dll before v1.5.22). > # > +# Define NO_THREAD_SAFE_PREAD if your pread() implementation is not > +# thread-safe. (e.g. compat/pread.c or cygwin) > +# > # Define NO_FAST_WORKING_DIRECTORY if accessing objects in pack files is > # generally faster on your platform than accessing the working directory. > # > @@ -1051,6 +1054,7 @@ ifeq ($(uname_O),Cygwin) > NO_IPV6 = YesPlease > OLD_ICONV = UnfortunatelyYes > endif > + NO_THREAD_SAFE_PREAD = YesPlease > NEEDS_LIBICONV = YesPlease > NO_FAST_WORKING_DIRECTORY = UnfortunatelyYes > NO_TRUSTABLE_FILEMODE = UnfortunatelyYes > @@ -1659,6 +1663,10 @@ endif > ifdef NO_PREAD > COMPAT_CFLAGS += -DNO_PREAD > COMPAT_OBJS += compat/pread.o > + NO_THREAD_SAFE_PREAD = YesPlease > +endif > +ifdef NO_THREAD_SAFE_PREAD > + BASIC_CFLAGS += -DNO_THREAD_SAFE_PREAD > endif > ifdef NO_FAST_WORKING_DIRECTORY > BASIC_CFLAGS += -DNO_FAST_WORKING_DIRECTORY > diff --git a/builtin/index-pack.c b/builtin/index-pack.c > index dc2cfe6..4705478 100644 > --- a/builtin/index-pack.c > +++ b/builtin/index-pack.c > @@ -39,8 +39,8 @@ struct base_data { > int ofs_first, ofs_last; > }; > > -#if !defined(NO_PTHREADS) && defined(NO_PREAD) > -/* NO_PREAD uses compat/pread.c, which is not thread-safe. Disable threading. */ > +#if !defined(NO_PTHREADS) && defined(NO_THREAD_SAFE_PREAD) > +/* pread() emulation is not thread-safe. Disable threading. */ > #define NO_PTHREADS > #endif -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html