diff options
author | joerg <joerg@pkgsrc.org> | 2016-05-31 21:35:11 +0000 |
---|---|---|
committer | joerg <joerg@pkgsrc.org> | 2016-05-31 21:35:11 +0000 |
commit | a8ce235daf6d1af5f2da1ab4fd8cdb6ec3d64056 (patch) | |
tree | eb026d52098850968a390b1b2124f563d8daaebd /x11 | |
parent | eb78260359626c6dfe8c66eee9cb85aff56d33f1 (diff) | |
download | pkgsrc-a8ce235daf6d1af5f2da1ab4fd8cdb6ec3d64056.tar.gz |
Do not destroy the pthread keys. It creates race conditions during
destruction and random panics as side effect.
Diffstat (limited to 'x11')
-rw-r--r-- | x11/qt4-libs/Makefile | 4 | ||||
-rw-r--r-- | x11/qt4-libs/distinfo | 4 | ||||
-rw-r--r-- | x11/qt4-libs/patches/patch-src_corelib_thread_qthread__unix.cpp | 25 |
3 files changed, 27 insertions, 6 deletions
diff --git a/x11/qt4-libs/Makefile b/x11/qt4-libs/Makefile index be2b58323e6..952c84f1d2f 100644 --- a/x11/qt4-libs/Makefile +++ b/x11/qt4-libs/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.111 2016/05/05 22:04:34 joerg Exp $ +# $NetBSD: Makefile,v 1.112 2016/05/31 21:35:11 joerg Exp $ PKGNAME= qt4-libs-${QTVERSION} -PKGREVISION= 2 +PKGREVISION= 3 COMMENT= C++ X GUI toolkit .include "../../x11/qt4-libs/Makefile.common" diff --git a/x11/qt4-libs/distinfo b/x11/qt4-libs/distinfo index 8ad51e88026..a4eb4f5c877 100644 --- a/x11/qt4-libs/distinfo +++ b/x11/qt4-libs/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.108 2016/05/25 07:46:47 nros Exp $ +$NetBSD: distinfo,v 1.109 2016/05/31 21:35:11 joerg Exp $ SHA1 (qt-everywhere-opensource-src-4.8.7.tar.gz) = 76aef40335c0701e5be7bb3a9101df5d22fe3666 RMD160 (qt-everywhere-opensource-src-4.8.7.tar.gz) = afb5e5a99388e6429faca59cb5000054feffd166 @@ -70,7 +70,7 @@ SHA1 (patch-src_3rdparty_webkit_Source_WebCore_platform_qt_PlatformKeyboardEvent SHA1 (patch-src_3rdparty_webkit_Source_WebKit2_DerivedSources.pro) = 7ae5feb79efd0836b74000e183b96f5775fd3043 SHA1 (patch-src_corelib_io_io.pri) = cde98927b524c92fae1e053c2359e77bde2c240a SHA1 (patch-src_corelib_io_qfilesystemwatcher.cpp) = bb16b95d20286b1aa069dc25843d7e0067cc0268 -SHA1 (patch-src_corelib_thread_qthread__unix.cpp) = 5fdc6d22ea52ac89d6ae68a1dcf9de775265429b +SHA1 (patch-src_corelib_thread_qthread__unix.cpp) = 67fbdc29d6da0aa7309a7aeb653a5abf10bd4d78 SHA1 (patch-src_gui_painting_qpaintengine__mac.cpp) = dc44116d5d138020e5d525ec5b7fd0f1b44ebeca SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols.cpp) = 3ad682b86d2e9bd2b282caa298508dc3e9dd8566 SHA1 (patch-src_network_ssl_qsslsocket__openssl__symbols__p.h) = 417846ba9edab8638cafa41a54ef60029467ef80 diff --git a/x11/qt4-libs/patches/patch-src_corelib_thread_qthread__unix.cpp b/x11/qt4-libs/patches/patch-src_corelib_thread_qthread__unix.cpp index 2e2f6a525e2..999e3c92bc5 100644 --- a/x11/qt4-libs/patches/patch-src_corelib_thread_qthread__unix.cpp +++ b/x11/qt4-libs/patches/patch-src_corelib_thread_qthread__unix.cpp @@ -1,6 +1,6 @@ -$NetBSD: patch-src_corelib_thread_qthread__unix.cpp,v 1.2 2016/05/05 22:04:34 joerg Exp $ +$NetBSD: patch-src_corelib_thread_qthread__unix.cpp,v 1.3 2016/05/31 21:35:11 joerg Exp $ ---- src/corelib/thread/qthread_unix.cpp.orig 2015-06-23 15:32:25.000000000 +0000 +--- src/corelib/thread/qthread_unix.cpp.orig 2015-05-07 14:14:48.000000000 +0000 +++ src/corelib/thread/qthread_unix.cpp @@ -120,6 +120,12 @@ enum { ThreadPriorityResetFlag = 0x80000 #if defined(Q_CC_XLC) || defined (Q_CC_SUN) @@ -15,3 +15,24 @@ $NetBSD: patch-src_corelib_thread_qthread__unix.cpp,v 1.2 2016/05/05 22:04:34 jo #ifdef HAVE_TLS static __thread QThreadData *currentThreadData = 0; +@@ -167,20 +173,6 @@ static void create_current_thread_data_k + pthread_key_create(¤t_thread_data_key, destroy_current_thread_data); + } + +-static void destroy_current_thread_data_key() +-{ +- pthread_once(¤t_thread_data_once, create_current_thread_data_key); +- pthread_key_delete(current_thread_data_key); +- +- // Reset current_thread_data_once in case we end up recreating +- // the thread-data in the rare case of QObject construction +- // after destroying the QThreadData. +- pthread_once_t pthread_once_init = PTHREAD_ONCE_INIT; +- current_thread_data_once = pthread_once_init; +-} +-Q_DESTRUCTOR_FUNCTION(destroy_current_thread_data_key) +- +- + // Utility functions for getting, setting and clearing thread specific data. + static QThreadData *get_thread_data() + { |