summaryrefslogtreecommitdiffstats
path: root/src/platformsupport/fbconvenience/qfbvthandler_p.h
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-09-28 17:37:55 +0200
committerLaszlo Agocs <laszlo.agocs@theqtcompany.com>2015-10-02 06:32:03 +0000
commitf191ba9d71bd910f205a2f41c5ac6c0d959439ed (patch)
tree88d612a1a48c22cf0087c2b17bd1059efba948cd /src/platformsupport/fbconvenience/qfbvthandler_p.h
parent918f1cd3d822eba5fcad013b1764d8b5d7f15423 (diff)
Revamp signal handling in eglfs/linuxfb
Go back to the pipe-based signal handling. signalfd() introduces more harm than good and is a regression for applications that install their own signal handlers. Simplify the somewhat overcomplicated suspend (Ctrl+Z) logic too. There is no need for requiring a callback. Just enable/disable the keyboard and cursor on suspend and resume and emit the signals. Backends (like kms) may then perform additional steps, if they choose to do so. Task-number: QTBUG-48384 Change-Id: Ifd52de89c59915a2e0be6bf5ebc6f2ff1728eb50 Reviewed-by: Louai Al-Khanji <louai.al-khanji@theqtcompany.com>
Diffstat (limited to 'src/platformsupport/fbconvenience/qfbvthandler_p.h')
-rw-r--r--src/platformsupport/fbconvenience/qfbvthandler_p.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/platformsupport/fbconvenience/qfbvthandler_p.h b/src/platformsupport/fbconvenience/qfbvthandler_p.h
index 3681def9f0..91eba248fe 100644
--- a/src/platformsupport/fbconvenience/qfbvthandler_p.h
+++ b/src/platformsupport/fbconvenience/qfbvthandler_p.h
@@ -59,23 +59,22 @@ public:
QFbVtHandler(QObject *parent = 0);
~QFbVtHandler();
- void suspend();
-
signals:
void interrupted();
- void suspendRequested();
+ void aboutToSuspend();
void resumed();
private slots:
void handleSignal();
private:
- void restoreKeyboard();
+ void setKeyboardEnabled(bool enable);
void handleInt();
+ static void signalHandler(int sigNo);
int m_tty;
int m_oldKbdMode;
- int m_signalFd;
+ int m_sigFd[2];
QSocketNotifier *m_signalNotifier;
};