1#ifndef SIGNALHANDLING_H_
2#define SIGNALHANDLING_H_
5#if QT_VERSION >= QT_VERSION_CHECK(6,5,0)
6#include <QtSystemDetection>
9#include <QSocketNotifier>
35 static void Init(QObject *parent =
nullptr);
36 static void Done(
void);
40 static bool IsExiting(
void) {
return s_exit_program; }
44 static void signalHandler(
int signum,
siginfo_t *
info,
void *context);
48 void handleSignal(
void);
57 QSocketNotifier *m_notifier {
nullptr};
58 char *m_sigStack {
nullptr};
A container object to handle UNIX signals in the Qt space correctly.
static QMutex s_singletonLock
static std::array< int, 2 > s_sigFd
static SignalHandler * s_singleton
QMap< int, SigHandlerFunc > m_sigMap
static volatile bool s_exit_program
static bool IsExiting(void)
void(*)(void) SigHandlerFunc