src/server/daemon/main.c

branch
srvctrl
changeset 158
77f4f0079428
parent 156
724e107983e9
child 254
4784c14aa639
--- a/src/server/daemon/main.c	Tue Jan 24 22:48:14 2017 +0100
+++ b/src/server/daemon/main.c	Wed Jan 25 11:50:19 2017 +0100
@@ -45,6 +45,7 @@
 #include "log.h"
 #include "httprequest.h"
 #include "httplistener.h"
+#include "srvctrl.h"
 
 #include "configmanager.h"
 
@@ -83,7 +84,7 @@
  */
 void sig_term(int sig) {
     webserver_shutdown();
-    exit(EXIT_SUCCESS);
+    //exit(EXIT_SUCCESS);
 }
 
 void* log_pipe_thread(void *data) {
@@ -101,29 +102,6 @@
     return NULL;
 }
 
-void handle_srvctrl() {
-    int srvctrl = webserver_srvctrl_fd();
-    listen(srvctrl, 8);
-    
-    for(;;) {
-        int admin_client = accept(srvctrl, NULL, 0);
-        if(admin_client < 0) {
-            log_ereport(
-                    LOG_FAILURE,
-                    "srvctrl: accept failed: %s",
-                    strerror(errno));
-            continue;
-        }
-        
-        // TODO: read commands
-        webserver_shutdown();
-        
-        close(admin_client);
-        
-        break;
-    }
-}
-
 int main(int argc, char **argv) {
     //test();
     
@@ -199,7 +177,9 @@
         return EXIT_FAILURE;
     }
     
-    handle_srvctrl();
+    if(srvctrl_wait()) {
+        return EXIT_FAILURE;
+    }
     
     /* TODO: join threads (or not?) */
 /*

mercurial