Abort flush after 10 seconds. From: Alexander Wirt Patch from Debian iproute package. diff -urNad iproute-20060323~/ip/ipaddress.c iproute-20060323/ip/ipaddress.c --- iproute-20060323~/ip/ipaddress.c 2006-09-08 17:02:03.000000000 +0200 +++ iproute-20060323/ip/ipaddress.c 2006-09-08 17:03:01.000000000 +0200 @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -589,6 +590,7 @@ if (flush) { int round = 0; char flushb[4096-512]; + time_t start = time(0); filter.flushb = flushb; filter.flushp = 0; @@ -617,6 +619,12 @@ printf("Warum?\n"); return 1; + if (time(0) - start > 10) { + printf("\n*** Flush not completed after %ld seconds, %d entries remain ***\n", + time(0) - start, filter.flushed); + exit(1); + } + if (show_stats) { printf("\n*** Round %d, deleting %d addresses ***\n", round, filter.flushed); fflush(stdout);