diff options
Diffstat (limited to 'src/dnsmasq.c')
-rw-r--r-- | src/dnsmasq.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/dnsmasq.c b/src/dnsmasq.c index 1c96a0e..5560aa9 100644 --- a/src/dnsmasq.c +++ b/src/dnsmasq.c @@ -917,10 +917,10 @@ int main (int argc, char **argv) #if defined(HAVE_LINUX_NETWORK) if (FD_ISSET(daemon->netlinkfd, &rset)) - netlink_multicast(now); + netlink_multicast(); #elif defined(HAVE_BSD_NETWORK) if (FD_ISSET(daemon->routefd, &rset)) - route_sock(now); + route_sock(); #endif /* Check for changes to resolv files once per second max. */ @@ -1037,6 +1037,11 @@ void send_alarm(time_t event, time_t now) } } +void send_newaddr(void) +{ + send_event(pipewrite, EVENT_NEWADDR, 0, NULL); +} + void send_event(int fd, int event, int data, char *msg) { struct event_desc ev; @@ -1230,6 +1235,10 @@ static void async_event(int pipe, time_t now) if (daemon->log_file != NULL) log_reopen(daemon->log_file); break; + + case EVENT_NEWADDR: + newaddress(now); + break; case EVENT_TERM: /* Knock all our children on the head. */ |