projects
/
project
/
mdnsd.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
move signal_setup() to main.c
[project/mdnsd.git]
/
main.c
diff --git
a/main.c
b/main.c
index
22ad73d
..
8275c48
100644
(file)
--- a/
main.c
+++ b/
main.c
@@
-38,18
+38,21
@@
#include "announce.h"
#include "interface.h"
#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;
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) {
switch (ch) {
- case 'h':
- hostname = optarg;
- break;
case 't':
ttl = atoi(optarg);
if (ttl > 0)
case 't':
ttl = atoi(optarg);
if (ttl > 0)
@@
-76,7
+79,9
@@
main(int argc, char **argv)
return -1;
}
return -1;
}
- signal_setup();
+ signal(SIGPIPE, SIG_IGN);
+ signal(SIGTERM, signal_shutdown);
+ signal(SIGKILL, signal_shutdown);
if (cache_init())
return -1;
if (cache_init())
return -1;
@@
-89,6
+94,7
@@
main(int argc, char **argv)
cache_cleanup();
service_cleanup();
cache_cleanup();
service_cleanup();
+ vlist_flush(&interfaces);
return 0;
}
return 0;
}