fixing bug #120870 try to avoid problem with uninitialized mutexes Daniel
* globals.c threads.c: fixing bug #120870 try to avoid problem
with uninitialized mutexes
Daniel
diff --git a/ChangeLog b/ChangeLog
index 8032d31..8737b15 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Aug 28 10:01:44 CEST 2003 Daniel Veillard <daniel@veillard.com>
+
+ * globals.c threads.c: fixing bug #120870 try to avoid problem
+ with uninitialized mutexes
+
Wed Aug 27 16:12:41 CEST 2003 Daniel Veillard <daniel@veillard.com>
* relaxng.c: fixed an error reporting bug in Relax-NG when we end
diff --git a/globals.c b/globals.c
index 5342340..2cddaa8 100644
--- a/globals.c
+++ b/globals.c
@@ -480,6 +480,9 @@
/*
* Perform initialization as required by libxml
*/
+ if (xmlThrDefMutex == NULL)
+ xmlInitGlobals();
+
xmlMutexLock(xmlThrDefMutex);
#ifdef LIBXML_DOCB_ENABLED
diff --git a/threads.c b/threads.c
index 8db1aac..fd03e66 100644
--- a/threads.c
+++ b/threads.c
@@ -170,8 +170,10 @@
* xmlMutexUnlock() is used to unlock a libxml2 token.
*/
void
-xmlMutexUnlock(xmlMutexPtr tok ATTRIBUTE_UNUSED)
+xmlMutexUnlock(xmlMutexPtr tok)
{
+ if (tok == NULL)
+ return;
#ifdef HAVE_PTHREAD_H
pthread_mutex_unlock(&tok->lock);
#elif defined HAVE_WIN32_THREADS