diff options
author | Paul Jakma <paul@quagga.net> | 2010-01-09 15:11:02 +0100 |
---|---|---|
committer | Paul Jakma <paul@quagga.net> | 2010-12-08 18:11:18 +0100 |
commit | 94b6bfd28357dfa5a4f478b7393522816976c0b0 (patch) | |
tree | 8c94b1e1730a3db7cd0c5371495a944745d8aa20 /ospfd/ospf_lsa.c | |
parent | ospfd: Fix various route_unlock discrepencies (diff) | |
download | frr-94b6bfd28357dfa5a4f478b7393522816976c0b0.tar.xz frr-94b6bfd28357dfa5a4f478b7393522816976c0b0.zip |
ospfd: the maxage_lsa_remover should check whether it needs to yield the cpu
Diffstat (limited to 'ospfd/ospf_lsa.c')
-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 dbf0f4173..0c23909bd 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)) |