aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/left_right.py
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/left_right.py')
-rw-r--r--rpkid/rpki/left_right.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/rpkid/rpki/left_right.py b/rpkid/rpki/left_right.py
index 784c8b7b..d355d2c1 100644
--- a/rpkid/rpki/left_right.py
+++ b/rpkid/rpki/left_right.py
@@ -178,10 +178,15 @@ class self_elt(data_elt):
rpki.rpki_engine.ca_obj.create(parent, rc, class_iterator, class_create_failed)
def class_done():
- for ca in ca_map.values():
- ca.delete(parent) # CA not listed by parent
- self.gctx.sql.sweep()
- parent_iterator()
+
+ def ca_loop(iterator, ca):
+ ca.delete(parent, iterator)
+
+ def ca_done():
+ self.gctx.sql.sweep()
+ parent_iterator()
+
+ rpki.async.iterator(ca_map.values(), ca_loop, ca_done)
rpki.async.iterator(r_msg.payload.classes, class_loop, class_done)