END
my $ojvn = "$ho->{Ident}_lifecycle";
- my $firstrun;
if (length $r{$ojvn}) {
my ($oldsigil,) = reverse split / /, $r{$ojvn};
$oldsigil = '' unless $oldsigil =~ m/^\W$/;
return if $newsigil ne '' && $oldsigil eq $newsigil;
- } else {
- $firstrun = 1;
}
my @lifecycle;
+ my $seen_us;
db_retry($dbh_tests,[], sub {
my $elided;
@lifecycle = ();
while (my $o = $scanq->fetchrow_hashref()) {
my $olive =
- # Any job which appeared since we started thinking
- # about this must have been concurrent with us,
- # even if it is dead now.
- (!$firstrun || $o->{live}) &&
+ # Any job with any entry after we put ourselves in the
+ # table must have been concurrent with us, even if it is
+ # dead now.
+ ($seen_us || $o->{live}) &&
# If this task is still live, we need to have something
# with a live mark, generally all the prep will have
# occurred already, so we don't mark the prep as live
$o->{job} eq $job) {
# Don't put the + mark on our own entries.
$olivemark = '';
+ $seen_us = 1;
}
my $oisprepmark = !!$o->{isprep} && '@';