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