Re: [PATCHv2 27/36] attr: convert to new threadsafe API
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
Show 61 quoted lines
>
> 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);
>