|
Lines 486-497
RETRY:
Link Here
|
| 486 |
while (1) { |
486 |
while (1) { |
| 487 |
return [] if $num_agents == 0 || $num_tasks == 0; |
487 |
return [] if $num_agents == 0 || $num_tasks == 0; |
| 488 |
|
488 |
|
| 489 |
if ( $num_tasks < $num_agents && @remaining ) { |
489 |
if ( $num_tasks <= $num_agents && @remaining ) { |
| 490 |
|
490 |
|
| 491 |
# On retry, move tasks from @remaining to @requests up to |
491 |
# On retry, move tasks from @remaining to @requests up to |
| 492 |
# the number of agents. |
492 |
# the number of agents. |
| 493 |
my $nr = scalar(@remaining); |
493 |
my $nr = scalar(@remaining); |
| 494 |
my $na = $num_agents - $num_tasks; |
494 |
my $na = $num_agents - $num_tasks || 1; |
| 495 |
my $nm = $nr < $na ? $nr : $na; |
495 |
my $nm = $nr < $na ? $nr : $na; |
| 496 |
push @requests, ( splice @remaining, 0, $nm ); |
496 |
push @requests, ( splice @remaining, 0, $nm ); |
| 497 |
$num_tasks += $nm; |
497 |
$num_tasks += $nm; |
|
Lines 575-583
RETRY:
Link Here
|
| 575 |
} |
575 |
} |
| 576 |
} |
576 |
} |
| 577 |
|
577 |
|
| 578 |
$num_tasks = scalar(@requests); |
578 |
$num_tasks = scalar(@requests) + scalar(@remaining); |
| 579 |
|
579 |
|
| 580 |
if ( $num_agents > $num_tasks && @remaining ) { |
580 |
if ( $num_agents >= $num_tasks && @remaining ) { |
| 581 |
|
581 |
|
| 582 |
$r = $num_tasks; |
582 |
$r = $num_tasks; |
| 583 |
@candidate_tasks = ( (1) x $num_tasks ); |
583 |
@candidate_tasks = ( (1) x $num_tasks ); |
| 584 |
- |
|
|