diff options
author | Bernd Weimer <bernd.weimer@qt.io> | 2022-07-06 10:10:10 +0200 |
---|---|---|
committer | Bernd Weimer <bernd.weimer@qt.io> | 2022-07-07 23:18:19 +0200 |
commit | 9ab85248b628848ec37f6a2c6c1d845ebae6f3a5 (patch) | |
tree | bf9a85da06581733f8a613aac054ccf69a6ab54c | |
parent | 7713f49ebb04f678a81b0c7cfcacd0880bd2661c (diff) |
Fix pipe in signal handler (QNX only)
Change-Id: I4a3ce348da32a4a338c39d74d933b9ce49917a80
Pick-to: 6.4
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
-rw-r--r-- | src/common-lib/unixsignalhandler.cpp | 10 | ||||
-rw-r--r-- | src/common-lib/unixsignalhandler.h | 2 |
2 files changed, 3 insertions, 9 deletions
diff --git a/src/common-lib/unixsignalhandler.cpp b/src/common-lib/unixsignalhandler.cpp index 3349e718..550c0364 100644 --- a/src/common-lib/unixsignalhandler.cpp +++ b/src/common-lib/unixsignalhandler.cpp @@ -29,12 +29,9 @@ UnixSignalHandler::am_sigmask_t UnixSignalHandler::am_sigmask(int sig) UnixSignalHandler *UnixSignalHandler::s_instance = nullptr; -#if defined(Q_OS_UNIX) && !defined(Q_OS_QNX) - UnixSignalHandler::UnixSignalHandler() - : QObject() - , m_pipe { -1, -1 } { +#if defined(Q_OS_UNIX) && !defined(Q_OS_QNX) // Setup alternate signal stack (to get backtrace for stack overflow) // Canonical size might not be suffcient to get QML backtrace, so we double it size_t stackSize = SIGSTKSZ * 2; @@ -50,11 +47,8 @@ UnixSignalHandler::UnixSignalHandler() // this code runs before all other static constructors qWarning("WARNING: UnixSignalHandler failed to allocate memory for an alternate signal stack."); } -} -#else -UnixSignalHandler::UnixSignalHandler() : QObject() -{ } #endif +} UnixSignalHandler *UnixSignalHandler::instance() { diff --git a/src/common-lib/unixsignalhandler.h b/src/common-lib/unixsignalhandler.h index 9db2d155..ed9caaa1 100644 --- a/src/common-lib/unixsignalhandler.h +++ b/src/common-lib/unixsignalhandler.h @@ -72,7 +72,7 @@ private: static am_sigmask_t am_sigmask(int sig); QAtomicInteger<am_sigmask_t> m_resetSignalMask; #if defined(Q_OS_UNIX) - int m_pipe[2]; + int m_pipe[2] = { -1, -1 }; #elif defined(Q_OS_WIN) QMutex m_winLock; QWinEventNotifier *m_winEvent = nullptr; |