diff options
author | Paul Jakma <paul@quagga.net> | 2010-01-09 14:11:02 +0000 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2010-12-08 17:11:18 +0000 |
commit | 94b6bfd28357dfa5a4f478b7393522816976c0b0 (patch) | |
tree | 8c94b1e1730a3db7cd0c5371495a944745d8aa20 | |
parent | e8f2226195e86f90f2409549ad8a8e5c8d64d23b (diff) |
ospfd: the maxage_lsa_remover should check whether it needs to yield the cpu
-rw-r--r-- | ospfd/ospf_lsa.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index dbf0f417..0c23909b 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -2911,7 +2911,11 @@ ospf_maxage_lsa_remover (struct thread *thread) reschedule = 1; continue; } - + + /* TODO: maybe convert this function to a work-queue */ + if (thread_should_yield (thread)) + OSPF_TIMER_ON (ospf->t_maxage, ospf_maxage_lsa_remover, 0); + /* Remove LSA from the LSDB */ if (CHECK_FLAG (lsa->flags, OSPF_LSA_SELF)) if (IS_DEBUG_OSPF (lsa, LSA_FLOODING)) |