generic-poky/meta/recipes-extended/iputils/files/debian/fix-arping-timeouts.diff

27 lines
812 B
Diff

Upstream-Status: Pending [from other distro Debian]
Index: trunk/arping.c
===================================================================
--- trunk.orig/arping.c 2010-05-07 23:13:52.000000000 -0700
+++ trunk/arping.c 2010-05-07 23:41:16.000000000 -0700
@@ -182,12 +182,17 @@
if (start.tv_sec==0)
start = tv;
- if (count-- == 0 || (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500))
+ if (timeout && MS_TDIFF(tv,start) > timeout*1000 + 500)
finish();
- if (last.tv_sec==0 || MS_TDIFF(tv,last) > 500) {
+ if ((!timeout) && (count == 0))
+ finish();
+
+ if ( count!=0 && (last.tv_sec==0 || MS_TDIFF(tv,last) > 500 ) ) {
send_pack(s, src, dst,
(struct sockaddr_ll *)&me, (struct sockaddr_ll *)&he);
+ if (count >= 0)
+ count--;
if (count == 0 && unsolicited)
finish();
}