Fixed controller breaking when all connectors are deleted simultaneously.

This commit is contained in:
Thulinma 2015-10-13 15:34:24 +02:00
parent a389234224
commit 2f4a4660d0

View file

@ -139,15 +139,20 @@ namespace Controller {
bool action = false; bool action = false;
//shut down deleted/changed connectors //shut down deleted/changed connectors
std::map<std::string, pid_t>::iterator it; std::map<std::string, pid_t>::iterator it;
for (it = currentConnectors.begin(); it != currentConnectors.end(); it++){ if (currentConnectors.size()){
if (!runningConns.count(it->first)){ for (it = currentConnectors.begin(); it != currentConnectors.end(); it++){
if (Util::Procs::isActive(it->second)){ if (!runningConns.count(it->first)){
Log("CONF", "Stopping connector " + it->first); if (Util::Procs::isActive(it->second)){
action = true; Log("CONF", "Stopping connector " + it->first);
Util::Procs::Stop(it->second); action = true;
Util::Procs::Stop(it->second);
}
currentConnectors.erase(it);
if (!currentConnectors.size()){
break;
}
it = currentConnectors.begin();
} }
currentConnectors.erase(it);
it = currentConnectors.begin();
} }
} }