move signal_setup() to main.c
[project/mdnsd.git] / main.c
diff --git a/main.c b/main.c
index c23daf4..8275c48 100644 (file)
--- a/main.c
+++ b/main.c
 #include "announce.h"
 #include "interface.h"
 
-char *iface_name = "eth0";
+static char *iface_name = "eth0";
+
+static void
+signal_shutdown(int signal)
+{
+       uloop_end();
+}
 
 int
 main(int argc, char **argv)
 {
        int ch, ttl;
 
-       while ((ch = getopt(argc, argv, "h:t:i:d")) != -1) {
+       while ((ch = getopt(argc, argv, "t:i:d")) != -1) {
                switch (ch) {
-               case 'h':
-                       hostname = optarg;
-                       break;
                case 't':
                        ttl = atoi(optarg);
                        if (ttl > 0)
@@ -76,7 +79,9 @@ main(int argc, char **argv)
                return -1;
        }
 
-       signal_setup();
+       signal(SIGPIPE, SIG_IGN);
+       signal(SIGTERM, signal_shutdown);
+       signal(SIGKILL, signal_shutdown);
 
        if (cache_init())
                return -1;