diff options
-rw-r--r-- | ospf6d/ChangeLog | 7 | ||||
-rw-r--r-- | ospf6d/ospf6_interface.c | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog index d718fc38..87b4fac7 100644 --- a/ospf6d/ChangeLog +++ b/ospf6d/ChangeLog @@ -1,3 +1,10 @@ +2005-06-24 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> + + * ospf6_interface.c: fix the way inactivity_timer is called. Because + inactivity_timer() deletes the neighbor from the neighbor_list, it + cannot be called by thread_execute() from inner side of the + neighbor_list for-loop. + 2005-05-31 Hasso Tepper <hasso at quagga.net> * ospf6d.c: No need for double ';'. Fixes parsing "show ipv6 ospf6 diff --git a/ospf6d/ospf6_interface.c b/ospf6d/ospf6_interface.c index 0614e440..3ca5e2d1 100644 --- a/ospf6d/ospf6_interface.c +++ b/ospf6d/ospf6_interface.c @@ -1069,7 +1069,7 @@ DEFUN (ipv6_ospf6_ifmtu, for (ALL_LIST_ELEMENTS (oi->neighbor_list, node, nnode, on)) { THREAD_OFF (on->inactivity_timer); - thread_execute (master, inactivity_timer, on, 0); + thread_add_event (master, inactivity_timer, on, 0); } return CMD_SUCCESS; @@ -1117,7 +1117,7 @@ DEFUN (no_ipv6_ospf6_ifmtu, for (ALL_LIST_ELEMENTS (oi->neighbor_list, node, nnode, on)) { THREAD_OFF (on->inactivity_timer); - thread_execute (master, inactivity_timer, on, 0); + thread_add_event (master, inactivity_timer, on, 0); } return CMD_SUCCESS; @@ -1352,7 +1352,7 @@ DEFUN (ipv6_ospf6_passive, for (ALL_LIST_ELEMENTS (oi->neighbor_list, node, nnode, on)) { THREAD_OFF (on->inactivity_timer); - thread_execute (master, inactivity_timer, on, 0); + thread_add_event (master, inactivity_timer, on, 0); } return CMD_SUCCESS; |