X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fdns.c;h=c8e794eb032f83dd786455767819214548c758a3;hb=19a7c076959e16df16be966d4c3aa563431ef038;hp=04e5a1e6459671d04aab853256616514a3ad5a32;hpb=745ba17db2b2c1868667734d1317e1ee1d0b68ae;p=collectd.git diff --git a/src/dns.c b/src/dns.c index 04e5a1e6..c8e794eb 100644 --- a/src/dns.c +++ b/src/dns.c @@ -278,30 +278,16 @@ static int dns_run_pcap_loop (void) static int dns_sleep_one_interval (void) /* {{{ */ { - cdtime_t interval; - struct timespec ts = { 0, 0 }; - int status = 0; - - interval = plugin_get_interval (); - CDTIME_T_TO_TIMESPEC (interval, &ts); - - while (42) + struct timespec ts = CDTIME_T_TO_TIMESPEC (plugin_get_interval ()); + while (nanosleep (&ts, &ts) != 0) { - struct timespec rem = { 0, 0 }; - - status = nanosleep (&ts, &rem); - if (status == 0) - break; - else if ((errno == EINTR) || (errno == EAGAIN)) - { - ts = rem; + if ((errno == EINTR) || (errno == EAGAIN)) continue; - } - else - break; + + return (errno); } - return (status); + return (0); } /* }}} int dns_sleep_one_interval */ static void *dns_child_loop (__attribute__((unused)) void *dummy) /* {{{ */