tcpip.c, igmp.h, igmp.c: Fixed bug "#19800 : IGMP: igmp_tick() will not work with NO_SYS=1". Note that igmp_init is always in tcpip_thread (and not in tcpip_init) because we have to be sure that network interfaces are already added (mac filter is updated only in igmp_init for the moment).

This commit is contained in:
fbernon
2007-05-16 14:12:52 +00:00
parent 2e479b88a8
commit 0f8a2d6418
4 changed files with 28 additions and 19 deletions

View File

@@ -121,10 +121,6 @@ void igmp_init(void)
}
}
}
/* Start the 10 millisecond tick */
/* we can optimise this to only run when timers are active later on */
sys_timeout( IGMP_TICK, igmp_tick, NULL);
}
/*-----------------------------------------------------------------------------
@@ -356,13 +352,11 @@ err_t igmp_leavegroup( struct netif *ifp, struct ip_addr *groupaddr)
}
/*-----------------------------------------------------------------------------
* igmp_tick
* igmp_tmr
*----------------------------------------------------------------------------*/
void igmp_tick(void *arg)
void igmp_tmr()
{ struct igmp_group *group = GroupList;
arg = arg;
while (group)
{ if (group->timer != 0)
{ group->timer -=1;
@@ -372,10 +366,6 @@ void igmp_tick(void *arg)
}
group = group->next;
}
/* 100 millisecond tick handler */
/* go down the list of all groups here and check for timeouts */
sys_timeout (IGMP_TICK, igmp_tick, NULL);
}
/*-----------------------------------------------------------------------------