aboutsummaryrefslogtreecommitdiff
path: root/src/ModuleManager.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/ModuleManager.py')
-rw-r--r--src/ModuleManager.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/ModuleManager.py b/src/ModuleManager.py
index 4b8fbd33..f650a6e6 100644
--- a/src/ModuleManager.py
+++ b/src/ModuleManager.py
@@ -241,12 +241,14 @@ class ModuleManager(object):
to_remove = []
for name, dependencies in definition_dependencies.items():
if not dependencies:
+ # pop things with no unfufilled dependencies
to_remove.append(name)
for name in to_remove:
definitions_ordered.append(name)
del definition_dependencies[name]
for deps in definition_dependencies.values():
if name in deps:
+ # fulfill dependencies for things we just popped
changed = True
deps.remove(name)
@@ -256,6 +258,7 @@ class ModuleManager(object):
if name1 in dep2 and name2 in dep1:
self.log.warn("Cicular dependencies: %s<->%s",
[name1, name2])
+ # snap a cycular dependence
dep2.remove(name1)
dep1.remove(name2)