summaryrefslogtreecommitdiff
path: root/src/miav_daemon.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2014-07-02 16:00:15 +0200
committerBent Bisballe Nyeng <deva@aasimon.org>2014-07-02 16:00:15 +0200
commit8d75833aacaa6c5aebd4014c79ace5633d6dabf3 (patch)
tree1471bb4feee6c335496d10c48ab12bba8d657c63 /src/miav_daemon.cc
parentb69bba9b089afc69df837ae69d55debf5a14ca1a (diff)
Shut down server process nicely on SIGINT. Reopen logfile on SIGHUP
Diffstat (limited to 'src/miav_daemon.cc')
-rw-r--r--src/miav_daemon.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/miav_daemon.cc b/src/miav_daemon.cc
index d86d448..97c26d7 100644
--- a/src/miav_daemon.cc
+++ b/src/miav_daemon.cc
@@ -37,6 +37,9 @@
#include "server.h"
#include "socket.h"
+// Declared in miavd.cc
+extern bool server_is_running;
+
MiavDaemon::MiavDaemon(int port)
{
this->port = port;
@@ -65,6 +68,8 @@ int MiavDaemon::daemon_main()
while(1) {
Socket *csocket = new Socket(socket->slisten());
+ if(!server_is_running) break;
+
if(socket->hasError()) {
ERR(miav, "Server socket has errors, quitting.");
delete csocket;
@@ -101,6 +106,9 @@ int MiavDaemon::daemon_main()
}
delete socket;
+
+ INFO(miav, "MIaV server stopped");
+
return 0;
}