summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-01-11 13:10:01 +0100
committerMaria Matejka <mq@ucw.cz>2022-02-03 10:30:33 +0100
commit87512ccdff9cb95847e3bec36893665558db5c95 (patch)
tree8e73268a7b21ed019a8d1eb29a97e11bceb0d19a
parentf22bab98186a52f6e7247422ead4332f4c37e0ce (diff)
Route table fast prune fixup
-rw-r--r--nest/rt-table.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/nest/rt-table.c b/nest/rt-table.c
index 2ed622cc..5f1e1679 100644
--- a/nest/rt-table.c
+++ b/nest/rt-table.c
@@ -2308,16 +2308,13 @@ rt_prune_table(void *data)
if (tab->prune_state == 0)
return;
+ if (tab->delete && !rt_fast_prune_ready(tab))
+ return;
+
rt_lock_table(tab);
if (tab->prune_state == 1)
{
- if (tab->delete && !rt_fast_prune_ready(tab))
- {
- rt_unlock_table(tab);
- return;
- }
-
/* Mark channels to flush */
WALK_LIST2(ih, n, tab->imports, n)
if (ih->import_state == TIS_STOP)