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 80ae8a2a46..71f178de4f 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -410,6 +410,9 @@ class RunQueueData:
410 explored_deps = {} 410 explored_deps = {}
411 msgs = [] 411 msgs = []
412 412
413 class TooManyLoops(Exception):
414 pass
415
413 def chain_reorder(chain): 416 def chain_reorder(chain):
414 """ 417 """
415 Reorder a dependency chain so the lowest task id is first 418 Reorder a dependency chain so the lowest task id is first
@@ -462,7 +465,7 @@ class RunQueueData:
462 msgs.append("\n") 465 msgs.append("\n")
463 if len(valid_chains) > 10: 466 if len(valid_chains) > 10:
464 msgs.append("Aborted dependency loops search after 10 matches.\n") 467 msgs.append("Aborted dependency loops search after 10 matches.\n")
465 return msgs 468 raise TooManyLoops
466 continue 469 continue
467 scan = False 470 scan = False
468 if revdep not in explored_deps: 471 if revdep not in explored_deps:
@@ -481,8 +484,11 @@ class RunQueueData:
481 484
482 explored_deps[tid] = total_deps 485 explored_deps[tid] = total_deps
483 486
484 for task in tasks: 487 try:
485 find_chains(task, []) 488 for task in tasks:
489 find_chains(task, [])
490 except TooManyLoops:
491 pass
486 492
487 return msgs 493 return msgs
488 494