Message ID | 1350833876-9499-6-git-send-email-diorcet.yann@gmail.com |
---|---|
State | Accepted |
Delegated to: | Esben Haabendal |
Headers | show |
Yann Diorcet <diorcet.yann@gmail.com> writes: > From: Yann Diorcet <yann.diorcet@belledonne-communications.com> > > --- > .../libxml2-2.9.0/pthread_once_init_fix.patch | 20 ++++++++++++++++++++ > recipes/libxml/libxml2_2.9.0.oe | 2 ++ > 2 files changed, 22 insertions(+) > create mode 100644 recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch > > diff --git a/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch > new file mode 100644 > index 0000000..847aa39 > --- /dev/null > +++ b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch > @@ -0,0 +1,20 @@ > +diff -urN libxml2-2.9.0/threads.c libxml2-2.9.0.mod/threads.c > +--- libxml2-2.9.0/threads.c 2012-09-11 05:52:46.000000000 +0200 > ++++ libxml2-2.9.0.mod/threads.c 2012-10-17 18:00:08.000000000 +0200 > +@@ -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; > diff --git a/recipes/libxml/libxml2_2.9.0.oe b/recipes/libxml/libxml2_2.9.0.oe > index 8c656f1..888a5af 100644 > --- a/recipes/libxml/libxml2_2.9.0.oe > +++ b/recipes/libxml/libxml2_2.9.0.oe > @@ -1,3 +1,5 @@ > LICENSE = "MIT" > > require libxml2.inc > + > +SRC_URI += "file://pthread_once_init_fix.patch" Merged to master, thanks. /Esben
diff --git a/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch new file mode 100644 index 0000000..847aa39 --- /dev/null +++ b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch @@ -0,0 +1,20 @@ +diff -urN libxml2-2.9.0/threads.c libxml2-2.9.0.mod/threads.c +--- libxml2-2.9.0/threads.c 2012-09-11 05:52:46.000000000 +0200 ++++ libxml2-2.9.0.mod/threads.c 2012-10-17 18:00:08.000000000 +0200 +@@ -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; diff --git a/recipes/libxml/libxml2_2.9.0.oe b/recipes/libxml/libxml2_2.9.0.oe index 8c656f1..888a5af 100644 --- a/recipes/libxml/libxml2_2.9.0.oe +++ b/recipes/libxml/libxml2_2.9.0.oe @@ -1,3 +1,5 @@ LICENSE = "MIT" require libxml2.inc + +SRC_URI += "file://pthread_once_init_fix.patch"
From: Yann Diorcet <yann.diorcet@belledonne-communications.com> --- .../libxml2-2.9.0/pthread_once_init_fix.patch | 20 ++++++++++++++++++++ recipes/libxml/libxml2_2.9.0.oe | 2 ++ 2 files changed, 22 insertions(+) create mode 100644 recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch