diff options
-rw-r--r-- | networking/zcip.c | 18 |
1 files 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: | |||
307 | fds[0].revents = 0; | 307 | fds[0].revents = 0; |
308 | 308 | ||
309 | // poll, being ready to adjust current timeout | 309 | // poll, being ready to adjust current timeout |
310 | if (timeout > 0) { | 310 | if (!timeout) { |
311 | gettimeofday(&tv1, NULL); | ||
312 | tv1.tv_usec += (timeout % 1000) * 1000; | ||
313 | while (tv1.tv_usec > 1000000) { | ||
314 | tv1.tv_usec -= 1000000; | ||
315 | tv1.tv_sec++; | ||
316 | } | ||
317 | tv1.tv_sec += timeout / 1000; | ||
318 | } else if (timeout == 0) { | ||
319 | timeout = ms_rdelay(PROBE_WAIT); | 311 | timeout = ms_rdelay(PROBE_WAIT); |
320 | // FIXME setsockopt(fd, SO_ATTACH_FILTER, ...) to | 312 | // FIXME setsockopt(fd, SO_ATTACH_FILTER, ...) to |
321 | // make the kernel filter out all packets except | 313 | // make the kernel filter out all packets except |
322 | // ones we'd care about. | 314 | // ones we'd care about. |
323 | } | 315 | } |
316 | gettimeofday(&tv1, NULL); | ||
317 | tv1.tv_usec += (timeout % 1000) * 1000; | ||
318 | while (tv1.tv_usec > 1000000) { | ||
319 | tv1.tv_usec -= 1000000; | ||
320 | tv1.tv_sec++; | ||
321 | } | ||
322 | tv1.tv_sec += timeout / 1000; | ||
323 | |||
324 | VDBG("...wait %ld %s nprobes=%d, nclaims=%d\n", | 324 | VDBG("...wait %ld %s nprobes=%d, nclaims=%d\n", |
325 | timeout, intf, nprobes, nclaims); | 325 | timeout, intf, nprobes, nclaims); |
326 | switch (poll(fds, 1, timeout)) { | 326 | switch (poll(fds, 1, timeout)) { |