diff options
author | Jarek Kobus <jaroslaw.kobus@qt.io> | 2022-03-14 17:02:11 +0100 |
---|---|---|
committer | Jarek Kobus <jaroslaw.kobus@qt.io> | 2022-03-31 12:48:42 +0000 |
commit | b76b8b1542ac31ea6336cb1b23c2552e35a74a62 (patch) | |
tree | fdf32902dd964a5b882be748a8654e9910de3fe3 /src/libs/utils/processutils.h | |
parent | de1bef18e21187f326da4e807b5e9a6fe149495c (diff) |
ProcessReaper: Implement custom terminate for CtrlCStub case
Move CtrlCStub-specific interrupt into ProcessHelper.
Amends 7d7e4af3afb5ba9d0ed5210018dd6be67abda469
Change-Id: I5cd9a750c4a89587a874515f752b0144df4b8309
Reviewed-by: hjk <hjk@qt.io>
Diffstat (limited to 'src/libs/utils/processutils.h')
-rw-r--r-- | src/libs/utils/processutils.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libs/utils/processutils.h b/src/libs/utils/processutils.h index 90405704e1..a9ae590ed2 100644 --- a/src/libs/utils/processutils.h +++ b/src/libs/utils/processutils.h @@ -26,6 +26,7 @@ #pragma once #include "processenums.h" +#include "processreaper.h" #include <QIODevice> #include <QProcess> @@ -52,6 +53,8 @@ private: class ProcessHelper : public QProcess { + Q_OBJECT + public: ProcessHelper(QObject *parent) : QProcess(parent), m_processStartHandler(this) { @@ -70,11 +73,19 @@ public: void setLowPriority() { m_lowPriority = true; } void setUnixTerminalDisabled() { m_unixTerminalDisabled = true; } + void setUseCtrlCStub(bool enabled); // release only + + static void terminateProcess(QProcess *process); + static void interruptProcess(QProcess *process); + static void interruptPid(qint64 pid); private: + void terminateProcess(); void setupChildProcess_impl(); + bool m_lowPriority = false; bool m_unixTerminalDisabled = false; + bool m_useCtrlCStub = false; // release only ProcessStartHandler m_processStartHandler; }; |