5 #include "windowsfork.h" 9 #include <QCoreApplication> 10 #include <QLoggingCategory> 13 Q_LOGGING_CATEGORY(C_SERVER_WIN,
"cutelyst.server.windows", QtWarningMsg)
18 WindowsFork::WindowsFork(
QObject *parent)
27 m_masterChildProcess =
new QProcess(
this);
31 env.insert(u
"CUTELYST_WSGI_IGNORE_MASTER"_s, u
"1"_s);
42 int ret = qApp->exec();
60 if (m_masterChildProcess) {
61 m_masterChildProcess->
kill();
67 if (m_masterChildProcess) {
76 if (!m_materChildRestartTimer) {
77 m_materChildRestartTimer =
new QTimer(
this);
83 m_materChildRestartTimer->
start();
86 void WindowsFork::startChild()
88 m_masterChildProcess->
start();
93 qCDebug(C_SERVER_WIN) <<
"Master child finished" << exitCode << exitStatus;
101 void WindowsFork::restartTerminate()
103 if (++m_autoReloadCount > 5) {
void setInterval(int msec)
void start(OpenMode mode)
virtual void restart() override
QMetaObject::Connection connect(const QObject *sender, PointerToMemberFunction signal, Functor functor)
void setArguments(const QStringList &arguments)
void finished(int exitCode, QProcess::ExitStatus exitStatus)
virtual int exec(bool lazy, bool master) override
virtual bool continueMaster(int *exit=nullptr) override
void setProgram(const QString &program)
void setProcessChannelMode(ProcessChannelMode mode)
void setProcessEnvironment(const QProcessEnvironment &environment)
virtual void killChild() override
QProcessEnvironment systemEnvironment()
virtual void terminateChild() override
QString applicationFilePath()
void setSingleShot(bool singleShot)