Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sbin/routed Revert 1.18 -> 1.19; causes infinite loops on ma...



details:   https://anonhg.NetBSD.org/src/rev/6324eeaae2b5
branches:  trunk
changeset: 487714:6324eeaae2b5
user:      christos <christos%NetBSD.org@localhost>
date:      Sun Jun 11 23:43:17 2000 +0000

description:
Revert 1.18 -> 1.19; causes infinite loops on machines that use ppp and
do active routing.

diffstat:

 sbin/routed/if.c |  8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diffs (42 lines):

diff -r ecf24221443c -r 6324eeaae2b5 sbin/routed/if.c
--- a/sbin/routed/if.c  Sun Jun 11 23:34:31 2000 +0000
+++ b/sbin/routed/if.c  Sun Jun 11 23:43:17 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if.c,v 1.19 2000/03/02 20:57:42 christos Exp $ */
+/*     $NetBSD: if.c,v 1.20 2000/06/11 23:43:17 christos Exp $ */
 
 /*
  * Copyright (c) 1983, 1993
@@ -37,7 +37,7 @@
 static char sccsid[] __attribute__((unused)) = "@(#)if.c       8.1 (Berkeley) 6/5/93";
 #elif defined(__NetBSD__)
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: if.c,v 1.19 2000/03/02 20:57:42 christos Exp $");
+__RCSID("$NetBSD: if.c,v 1.20 2000/06/11 23:43:17 christos Exp $");
 #endif
 
 #include "defs.h"
@@ -243,6 +243,7 @@
 iflookup(naddr addr)
 {
        struct interface *ifp, *maybe;
+       int once = 0;
 
        maybe = 0;
        for (;;) {
@@ -266,13 +267,14 @@
                        }
                }
 
-               if (maybe != 0)
+               if (maybe != 0 || once)
                        return maybe;
 
                /* If there is no known interface, maybe there is a
                 * new interface.  So just once look for new interfaces.
                 */
                ifinit();
+               once = 1;
        }
 }
 



Home | Main Index | Thread Index | Old Index