diff options
Diffstat (limited to 'bitbake/lib/bb')
-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 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 | ||