embedded: Make signal handlers optional
[ChangeLog][Platform Specific Changes] It is now possible to opt out from installing signal handlers when running with eglfs and linuxfb by setting the QT_QPA_NO_SIGNAL_HANDLER environment variable to a non-zero value. Task-number: QTBUG-54733 Change-Id: Ib07d4bbf714c752631c49b76ad0a16677c1ba5bd Reviewed-by: Andy Nichols <andy.nichols@qt.io>bb10
parent
b694fe987c
commit
97318a3d5f
|
|
@ -110,14 +110,16 @@ QFbVtHandler::QFbVtHandler(QObject *parent)
|
|||
m_signalNotifier = new QSocketNotifier(m_sigFd[1], QSocketNotifier::Read, this);
|
||||
connect(m_signalNotifier, &QSocketNotifier::activated, this, &QFbVtHandler::handleSignal);
|
||||
|
||||
struct sigaction sa;
|
||||
sa.sa_flags = 0;
|
||||
sa.sa_handler = signalHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sigaction(SIGINT, &sa, 0); // Ctrl+C
|
||||
sigaction(SIGTSTP, &sa, 0); // Ctrl+Z
|
||||
sigaction(SIGCONT, &sa, 0);
|
||||
sigaction(SIGTERM, &sa, 0); // default signal used by kill
|
||||
if (!qEnvironmentVariableIntValue("QT_QPA_NO_SIGNAL_HANDLER")) {
|
||||
struct sigaction sa;
|
||||
sa.sa_flags = 0;
|
||||
sa.sa_handler = signalHandler;
|
||||
sigemptyset(&sa.sa_mask);
|
||||
sigaction(SIGINT, &sa, 0); // Ctrl+C
|
||||
sigaction(SIGTSTP, &sa, 0); // Ctrl+Z
|
||||
sigaction(SIGCONT, &sa, 0);
|
||||
sigaction(SIGTERM, &sa, 0); // default signal used by kill
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue