From 00c051e42d91bf39f8fa1937c01faf8265ac5c10 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Fri, 30 Jun 2006 14:05:19 +0000 Subject: Bug http://bugs.busybox.net/view.php?id=723 - initialize tv1 the first time through the loop. --- networking/zcip.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/networking/zcip.c b/networking/zcip.c index e25f01755..836cb78b2 100644 --- a/networking/zcip.c +++ b/networking/zcip.c @@ -307,20 +307,20 @@ fail: fds[0].revents = 0; // poll, being ready to adjust current timeout - if (timeout > 0) { - gettimeofday(&tv1, NULL); - tv1.tv_usec += (timeout % 1000) * 1000; - while (tv1.tv_usec > 1000000) { - tv1.tv_usec -= 1000000; - tv1.tv_sec++; - } - tv1.tv_sec += timeout / 1000; - } else if (timeout == 0) { + if (!timeout) { timeout = ms_rdelay(PROBE_WAIT); // FIXME setsockopt(fd, SO_ATTACH_FILTER, ...) to // make the kernel filter out all packets except // ones we'd care about. } + gettimeofday(&tv1, NULL); + tv1.tv_usec += (timeout % 1000) * 1000; + while (tv1.tv_usec > 1000000) { + tv1.tv_usec -= 1000000; + tv1.tv_sec++; + } + tv1.tv_sec += timeout / 1000; + VDBG("...wait %ld %s nprobes=%d, nclaims=%d\n", timeout, intf, nprobes, nclaims); switch (poll(fds, 1, timeout)) { -- cgit v1.2.3