From 4d45da6c06970b54387ee040e20a8a88c84c50c0 Mon Sep 17 00:00:00 2001 From: "Vicente J. Botet Escriba" Date: Mon, 18 May 2015 21:26:46 +0200 Subject: [PATCH] Apply patch #11302. --- src/pthread/once.cpp | 4 +++- src/pthread/thread.cpp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pthread/once.cpp b/src/pthread/once.cpp index 2cfe7cd1..f61d74c8 100644 --- a/src/pthread/once.cpp +++ b/src/pthread/once.cpp @@ -15,7 +15,9 @@ #include #include #include - +#if defined BOOST_THREAD_PATCH +#include // memcmp. +#endif namespace boost { namespace thread_detail diff --git a/src/pthread/thread.cpp b/src/pthread/thread.cpp index 730a43a6..aa29615d 100644 --- a/src/pthread/thread.cpp +++ b/src/pthread/thread.cpp @@ -126,7 +126,8 @@ namespace boost } ~delete_current_thread_tls_key_on_dlclose_t() { - if (current_thread_tls_init_flag.epoch!=BOOST_ONCE_INITIAL_FLAG_VALUE) + const boost::once_flag uninitialized = BOOST_ONCE_INIT; + if (memcmp(¤t_thread_tls_init_flag, &uninitialized, sizeof(boost::once_flag))) { pthread_key_delete(current_thread_tls_key); }