diff options
author | Friedrich Haubensak <hsk@fli-leibniz.de> | 2012-09-12 17:34:53 +0200 |
---|---|---|
committer | Daniel Veillard <veillard@redhat.com> | 2012-09-15 17:21:23 +0800 |
commit | 3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e (patch) | |
tree | dcb1c1e54379e7969ee84b27125a0f1722ce71e5 /threads.c | |
parent | e7715a5963afebfb027120db6914926ec9a7373d (diff) | |
download | libxml2-3f6cfbd1d38d0634a2ddcb9a0a13e1b5a2195a5e.tar.gz |
Fix a thread portability problem
cannot compile libxml2-2.9.0 using studio 12.1 compiler on solaris 10
I.M.O. structure initializer (as PTHREAD_ONCE_INIT) cannot be used in
a structure assignment anyway
Diffstat (limited to 'threads.c')
-rw-r--r-- | threads.c | 3 |
1 files changed, 2 insertions, 1 deletions
@@ -146,6 +146,7 @@ struct _xmlRMutex { static pthread_key_t globalkey; static pthread_t mainthread; static pthread_once_t once_control = PTHREAD_ONCE_INIT; +static pthread_once_t once_control_init = PTHREAD_ONCE_INIT; static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER; #elif defined HAVE_WIN32_THREADS #if defined(HAVE_COMPILER_TLS) @@ -915,7 +916,7 @@ xmlCleanupThreads(void) #ifdef HAVE_PTHREAD_H if ((libxml_is_threaded) && (pthread_key_delete != NULL)) pthread_key_delete(globalkey); - once_control = PTHREAD_ONCE_INIT; + once_control = once_control_init; #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL)) if (globalkey != TLS_OUT_OF_INDEXES) { xmlGlobalStateCleanupHelperParams *p; |