summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/runqueue.py12
1 files changed, 9 insertions, 3 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 4d5d876797..843e468263 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -405,6 +405,9 @@ class RunQueueData:
405 explored_deps = {} 405 explored_deps = {}
406 msgs = [] 406 msgs = []
407 407
408 class TooManyLoops(Exception):
409 pass
410
408 def chain_reorder(chain): 411 def chain_reorder(chain):
409 """ 412 """
410 Reorder a dependency chain so the lowest task id is first 413 Reorder a dependency chain so the lowest task id is first
@@ -457,7 +460,7 @@ class RunQueueData:
457 msgs.append("\n") 460 msgs.append("\n")
458 if len(valid_chains) > 10: 461 if len(valid_chains) > 10:
459 msgs.append("Aborted dependency loops search after 10 matches.\n") 462 msgs.append("Aborted dependency loops search after 10 matches.\n")
460 return msgs 463 raise TooManyLoops
461 continue 464 continue
462 scan = False 465 scan = False
463 if revdep not in explored_deps: 466 if revdep not in explored_deps:
@@ -476,8 +479,11 @@ class RunQueueData:
476 479
477 explored_deps[tid] = total_deps 480 explored_deps[tid] = total_deps
478 481
479 for task in tasks: 482 try:
480 find_chains(task, []) 483 for task in tasks:
484 find_chains(task, [])
485 except TooManyLoops:
486 pass
481 487
482 return msgs 488 return msgs
483 489