diff options
author | Paul Jakma <paul@quagga.net> | 2010-01-11 15:48:18 +0000 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2010-02-05 00:40:18 +0100 |
commit | 07fb060ca78d9b2711adb66e303c7e308ecd0385 (patch) | |
tree | d2bd08da4aae9d6b1ff1f743b9ecda2626feb61b /ospfd/ospf_lsa.c | |
parent | 6185bcce99ca1805ca7abf146cb660cb74c1b36b (diff) | |
download | quagga-07fb060ca78d9b2711adb66e303c7e308ecd0385.tar.bz2 quagga-07fb060ca78d9b2711adb66e303c7e308ecd0385.tar.xz |
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 | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index 6dd1d341..25bd754d 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -2914,6 +2914,10 @@ ospf_maxage_lsa_remover (struct thread *thread) 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)) |