From 671966ae7bb69fc04952a8accaa52fae5e77d8bb Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Sat, 4 Sep 2010 01:20:33 +0200 Subject: Added command-line options and daemonizer. --- main.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'main.c') diff --git a/main.c b/main.c index 07eb66e..eb22061 100644 --- a/main.c +++ b/main.c @@ -4,6 +4,8 @@ #include "conf.h" #include "servers.h" #include "control_service.h" +#include "options.h" +#include "daemon.h" #include #include @@ -11,6 +13,7 @@ #include GMainLoop *main_loop; +struct options options = {0}; static void sig_handler(int sig) { g_debug("caught signal %d", sig); @@ -22,6 +25,12 @@ int main(int argc, char **argv) { conf_load(); + options_parse(argc, argv, &options); + + if(options.daemonize == TRUE) { + daemonize(); + } + control_service_start(); servers_init(); @@ -33,6 +42,7 @@ int main(int argc, char **argv) { httpd_start(); signal(SIGINT, sig_handler); + signal(SIGTERM, sig_handler); main_loop = g_main_loop_new(NULL, FALSE); @@ -47,6 +57,10 @@ int main(int argc, char **argv) { control_service_stop(); + if(options.daemonize == TRUE) { + daemonize_finished(); + } + conf_free(); return 0; -- cgit v1.2.3