From: Johannes Sixt Date: Sat, 29 Oct 2016 07:10:41 GMT Subject: Re: [PATCHv2 27/36] attr: convert to new threadsafe API Message-ID: <484115e7-67a0-a41e-0cca-b0daeb844b5c@kdbg.org> In-Reply-To: Am 29.10.2016 um 00:06 schrieb Junio C Hamano: > Probably this needs to be squashed in, now the MinGW discussion has > settled. Yes, this looks good. Thank you very much, both of you. As I said, I won't be able to test this until late next week. -- Hannes > > attr.c | 2 +- > common-main.c | 2 ++ > compat/mingw.c | 4 ---- > 3 files changed, 3 insertions(+), 5 deletions(-) > > diff --git a/attr.c b/attr.c > index 082b5ed343..961218a0d5 100644 > --- a/attr.c > +++ b/attr.c > @@ -50,7 +50,7 @@ static struct git_attr *(git_attr_hash[HASHSIZE]); > > #ifndef NO_PTHREADS > > -static pthread_mutex_t attr_mutex = PTHREAD_MUTEX_INITIALIZER; > +static pthread_mutex_t attr_mutex; > #define attr_lock() pthread_mutex_lock(&attr_mutex) > #define attr_unlock() pthread_mutex_unlock(&attr_mutex) > void attr_start(void) { pthread_mutex_init(&attr_mutex, NULL); } > diff --git a/common-main.c b/common-main.c > index 44a29e8b13..d4699cd404 100644 > --- a/common-main.c > +++ b/common-main.c > @@ -1,5 +1,6 @@ > #include "cache.h" > #include "exec_cmd.h" > +#include "attr.h" > > /* > * Many parts of Git have subprograms communicate via pipe, expect the > @@ -32,6 +33,7 @@ int main(int argc, const char **argv) > sanitize_stdfds(); > > git_setup_gettext(); > + attr_start(); > > argv[0] = git_extract_argv0_path(argv[0]); > > diff --git a/compat/mingw.c b/compat/mingw.c > index 51ed76326b..3fbfda5978 100644 > --- a/compat/mingw.c > +++ b/compat/mingw.c > @@ -5,7 +5,6 @@ > #include "../strbuf.h" > #include "../run-command.h" > #include "../cache.h" > -#include "../attr.h" > > #define HCAST(type, handle) ((type)(intptr_t)handle) > > @@ -2233,9 +2232,6 @@ void mingw_startup(void) > /* initialize critical section for waitpid pinfo_t list */ > InitializeCriticalSection(&pinfo_cs); > > - /* initialize critical sections in the attr code */ > - attr_start(); > - > /* set up default file mode and file modes for stdin/out/err */ > _fmode = _O_BINARY; > _setmode(_fileno(stdin), _O_BINARY); >