Bug in coriolisEnv.py. Avoid looping in Katana repair stage.

* In Katana::RoutingEvent::_processRepair(), do no reschedule perpandiculars
    that are already in repair mode, they may loop with repackperpandiculars().
This commit is contained in:
Jean-Paul Chaput 2019-03-04 23:25:25 +01:00
parent cc899710ea
commit 89c730ec61
2 changed files with 4 additions and 3 deletions

View File

@ -235,13 +235,13 @@ if __name__ == "__main__":
coriolisTop = "/usr"
sysconfDir = scriptDir
shellMessage = "Using system-wide Coriolis 2 (/usr)"
else
else:
m = reDevtoolset.match( scriptDir )
if m:
coriolisTop = "/opt/rh/devtoolset-%d/root/usr" % m.group('version')
sysconfDir = scriptDir
shellMessage = "Using system-wide devtoolset-%(v)d Coriolis 2 (/opt/rh/devtoolset-%(v)d/root/usr)" \
{ 'v':m.group('version') }
% { 'v':m.group('version') }
elif scriptDir.startswith(os.getenv("HOME")+"/nightly/coriolis-2.x/"):
rootDir = os.getenv("HOME") + "/nightly/coriolis-2.x"
coriolisTop = "%s/%s/%s/install" % ( rootDir, osType, buildDir )

View File

@ -602,7 +602,8 @@ namespace Katana {
cdebug_log(159,0) << "| " << perpandicular << endl;
fsm.addAction( perpandicular, SegmentAction::SelfInsert );
DataNegociate* data = perpandicular->getDataNegociate();
if (data) data->setState( DataNegociate::Repair );
if (data and (data->getState() < DataNegociate::Repair))
data->setState( DataNegociate::Repair );
}
}
fsm.doActions();