Files
haikuports/dev-libs/libxml2/patches/libxml2-2.9.0.patch
2013-03-29 14:04:07 +00:00

34 lines
1.4 KiB
Diff

--- libxml2-2.9.0-orig/threads.c 2012-09-11 03:52:46.000000000 +0000
+++ libxml2-2.9.0/threads.c 2013-02-12 20:44:23.000000000 +0000
@@ -146,6 +146,7 @@
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 @@
#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;
--- libxml2-2.9.0-orig/configure.in 2012-09-11 03:52:46.053739520 +0000
+++ libxml2-2.9.0/configure.in 2013-02-12 20:37:19.000000000 +0000
@@ -988,6 +988,11 @@
*beos*) WITH_THREADS="1"
THREAD_CFLAGS="$THREAD_CFLAGS -DHAVE_BEOS_THREADS"
;;
+ *haiku*) WITH_THREADS="1"
+ THREAD_LIB=""
+ AC_DEFINE([HAVE_PTHREAD_H], [], [Define if <pthread.h> is there])
+ ;;
+
*linux*)
if test "${GCC}" = "yes" ; then
GCC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`