summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Weimer <bernd.weimer@qt.io>2022-07-06 10:10:10 +0200
committerBernd Weimer <bernd.weimer@qt.io>2022-07-07 23:18:19 +0200
commit9ab85248b628848ec37f6a2c6c1d845ebae6f3a5 (patch)
treebf9a85da06581733f8a613aac054ccf69a6ab54c
parent7713f49ebb04f678a81b0c7cfcacd0880bd2661c (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.cpp10
-rw-r--r--src/common-lib/unixsignalhandler.h2
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;