summaryrefslogtreecommitdiffstats
path: root/process.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'process.cpp')
-rw-r--r--process.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/process.cpp b/process.cpp
index 64bbc13..d3d8fdb 100644
--- a/process.cpp
+++ b/process.cpp
@@ -259,7 +259,8 @@ void Process::stop()
{
if (mProcess->state() == QProcess::QProcess::NotRunning) {
printf("No process running\n");
- qApp->exit();
+ if (!mBeingRestarted)
+ qApp->exit();
return;
}
@@ -276,6 +277,13 @@ void Process::stop()
mProcess->kill();
}
+void Process::stopForRestart()
+{
+ printf("Stopping application for restart\n");
+ mBeingRestarted = true;
+ stop();
+}
+
void Process::restart()
{
printf("Restarting application\n");
@@ -313,6 +321,8 @@ void Process::incomingConnection(int i)
stop();
else if (command == "restart")
restart();
+ else if (command == "stopForRestart")
+ stopForRestart();
else
stop();
}