X-Git-Url: http://git.meshlink.io/?a=blobdiff_plain;f=avahi-dnsconfd%2Fmain.c;h=957c91e6d7ae834e8fd6a3df1f7f1afd095efe86;hb=a653540edf61c4c3fc5c7541d30bb40f92088ec0;hp=959f177d35e0e10f514339fcd799e5dcd3712803;hpb=66142b071a2497d7e3cf58d7bf5159bb1c970d84;p=catta diff --git a/avahi-dnsconfd/main.c b/avahi-dnsconfd/main.c index 959f177..957c91e 100644 --- a/avahi-dnsconfd/main.c +++ b/avahi-dnsconfd/main.c @@ -40,7 +40,7 @@ #include #include -#include +#include #include #include @@ -60,7 +60,7 @@ static gboolean quit = FALSE; static enum { DAEMON_RUN, DAEMON_KILL, - DAEMON_RELOAD, + DAEMON_REFRESH, DAEMON_VERSION, DAEMON_HELP, DAEMON_CHECK @@ -343,7 +343,7 @@ static void help(FILE *f, const gchar *argv0) { " -h --help Show this help\n" " -D --daemonize Daemonize after startup\n" " -k --kill Kill a running daemon\n" - " -r --reload Request a running daemon to reload static services\n" + " -r --refresh Request a running daemon to refresh DNS server data\n" " -c --check Return 0 if a daemon is already running\n" " -V --version Show version\n", argv0); @@ -357,7 +357,7 @@ static gint parse_command_line(int argc, char *argv[]) { { "daemonize", no_argument, NULL, 'D' }, { "kill", no_argument, NULL, 'k' }, { "version", no_argument, NULL, 'V' }, - { "reload", no_argument, NULL, 'r' }, + { "refresh", no_argument, NULL, 'r' }, { "check", no_argument, NULL, 'c' }, }; @@ -378,7 +378,7 @@ static gint parse_command_line(int argc, char *argv[]) { command = DAEMON_VERSION; break; case 'r': - command = DAEMON_RELOAD; + command = DAEMON_REFRESH; break; case 'c': command = DAEMON_CHECK; @@ -411,7 +411,9 @@ static int run_daemon(void) { if (daemonize) daemon_retval_send(0); - + + ret = 0; + while (!quit) { fd_set rfds, wfds; @@ -454,7 +456,7 @@ static int run_daemon(void) { break; case SIGHUP: - daemon_log(LOG_INFO, "Rrefreshing DNS Server list"); + daemon_log(LOG_INFO, "Refreshing DNS Server list"); close(fd); free_dns_server_info_list(); @@ -498,8 +500,6 @@ static int run_daemon(void) { } } } - - ret = 0; finish: @@ -510,6 +510,9 @@ finish: daemon_signal_done(); + if (ret != 0 && daemonize) + daemon_retval_send(1); + return ret; } @@ -597,7 +600,7 @@ gint main(gint argc, gchar *argv[]) { } r = 0; - } else if (command == DAEMON_RELOAD) { + } else if (command == DAEMON_REFRESH) { if (daemon_pid_file_kill(SIGHUP) < 0) { daemon_log(LOG_WARNING, "Failed to kill daemon: %s", strerror(errno)); goto finish;