diff options
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 12 |
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 | ||