From e7f76bae8ccfe405ce3032aaa3a5e9228e5feb98 Mon Sep 17 00:00:00 2001 From: Pavel Machek Date: Wed, 1 Dec 1999 13:44:42 +0000 Subject: Stupid bug (essentially while(1) loop) occuring sometimes during start of bird fixed. --- proto/rip/rip.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'proto') diff --git a/proto/rip/rip.c b/proto/rip/rip.c index 6340133..50db48e 100644 --- a/proto/rip/rip.c +++ b/proto/rip/rip.c @@ -138,13 +138,13 @@ rip_tx( sock *s ) FIB_ITERATE_START(&P->rtable, &c->iter, z) { struct rip_entry *e = (struct rip_entry *) z; - if (rif->triggered && (!(e->updated < now-5))) - continue; + if (!rif->triggered || (!(e->updated < now-5))) { - rip_tx_prepare( p, s->daddr, packet->block + i, e ); - if (i++ == ((P_CF->authtype == AT_MD5) ? PACKET_MD5_MAX : PACKET_MAX)) { - FIB_ITERATE_PUT(&c->iter, z); - goto break_loop; + rip_tx_prepare( p, s->daddr, packet->block + i, e ); + if (i++ == ((P_CF->authtype == AT_MD5) ? PACKET_MD5_MAX : PACKET_MAX)) { + FIB_ITERATE_PUT(&c->iter, z); + goto break_loop; + } } } FIB_ITERATE_END(z); c->done = 1; -- cgit v1.2.3