Commit c3320aca7640386a2cfc0c785560ff4d36851ef9

Justin Spahr-Summers 2012-12-09T02:22:50

git__mwindow_mutex needs to be initialized even with pthreads This could also use PTHREAD_MUTEX_INITIALIZER, but a dynamic initializer seems like a more portable concept, and we won't need another #define on top of git_mutex_init()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
diff --git a/src/global.c b/src/global.c
index d085089..305ec2e 100644
--- a/src/global.c
+++ b/src/global.c
@@ -119,6 +119,7 @@ int git_threads_init(void)
 	if (_tls_init)
 		return 0;
 
+	git_mutex_init(&git__mwindow_mutex);
 	pthread_key_create(&_tls_key, &cb__free_status);
 
 	/* Initialize any other subsystems that have global state */
@@ -134,6 +135,7 @@ void git_threads_shutdown(void)
 {
 	pthread_key_delete(_tls_key);
 	_tls_init = 0;
+	git_mutex_free(&git__mwindow_mutex);
 
 	/* Shut down any subsystems that have global state */
 	git_hash_global_shutdown();