aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/daemon/DaemonManager.cpp11
-rw-r--r--src/daemon/DaemonManager.h3
2 files changed, 12 insertions, 2 deletions
diff --git a/src/daemon/DaemonManager.cpp b/src/daemon/DaemonManager.cpp
index 30ae06cd..a637d281 100644
--- a/src/daemon/DaemonManager.cpp
+++ b/src/daemon/DaemonManager.cpp
@@ -36,6 +36,8 @@ bool DaemonManager::start()
if(!started){
qDebug() << "Daemon start error: " + m_daemon->errorString();
+ } else {
+ emit daemonStarted();
}
return started;
@@ -43,6 +45,15 @@ bool DaemonManager::start()
bool DaemonManager::stop()
{
+ if(m_daemon){
+ qDebug() << "stopping daemon";
+ m_daemon->terminate();
+ // Wait until stopped. Max 30 seconds
+ bool stopped = m_daemon->waitForFinished(30000);
+ if(stopped) emit daemonStopped();
+ return stopped;
+ }
+
return true;
}
diff --git a/src/daemon/DaemonManager.h b/src/daemon/DaemonManager.h
index 669f9119..b4170047 100644
--- a/src/daemon/DaemonManager.h
+++ b/src/daemon/DaemonManager.h
@@ -21,8 +21,7 @@ public:
Q_INVOKABLE bool running() const;
signals:
-
- void daemonStarted(const QProcess &d);
+ void daemonStarted();
void daemonStopped();
public slots: