diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | parser.c | 4 | ||||
-rw-r--r-- | threads.c | 3 |
3 files changed, 9 insertions, 5 deletions
@@ -1,3 +1,10 @@ +Thu Jun 4 11:06:07 CEST 2009 Daniel Veillard <daniel@veillard.com> + + * parser.c threads.c: change the threading initialization sequence + as suggested by Igor Novoseltsev to avoid crash if xmlInitParser() + is called from a thread which is not the main one, should fix + #584605 + Fri May 15 17:54:48 CEST 2009 Daniel Veillard <daniel@veillard.com> * HTMLparser.c: make sure we keep line numbers fixes #580705 @@ -13847,11 +13847,11 @@ xmlInitParser(void) { __xmlGlobalInitMutexLock(); if (xmlParserInitialized == 0) { #endif + xmlInitGlobals(); + xmlInitThreads(); if ((xmlGenericError == xmlGenericErrorDefaultFunc) || (xmlGenericError == NULL)) initGenericErrorDefaultFunc(NULL); - xmlInitGlobals(); - xmlInitThreads(); xmlInitMemory(); xmlInitCharEncodingHandlers(); xmlDefaultSAXHandlerInit(); @@ -852,9 +852,6 @@ xmlUnlockLibrary(void) void xmlInitThreads(void) { -#ifdef DEBUG_THREADS - xmlGenericError(xmlGenericErrorContext, "xmlInitThreads()\n"); -#endif #if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) InitializeCriticalSection(&cleanup_helpers_cs); #endif |