--- 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?) */ /*