summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernd Weimer <bernd.weimer@qt.io>2022-07-06 10:10:10 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-07-07 21:46:06 +0000
commit7de5a669e0ddfe1bf326ddc9215678741f715903 (patch)
tree8be7234bc33fd5b46132186e7810dcaa683d28f3
parentf9fc058e550affbb914ce0d6f391b448d5ae77ed (diff)
downloadqtapplicationmanager-7de5a669e0ddfe1bf326ddc9215678741f715903.tar.gz
Fix pipe in signal handler (QNX only)
Change-Id: I4a3ce348da32a4a338c39d74d933b9ce49917a80 Reviewed-by: Robert Griebl <robert.griebl@qt.io> (cherry picked from commit 9ab85248b628848ec37f6a2c6c1d845ebae6f3a5) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-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;