Fixed rare crash in pingTimeout when backend was disconnect

This commit is contained in:
Jan Kaluza 2011-08-17 13:04:52 +02:00
parent 852bd33b22
commit 9fdc06d793

View file

@ -664,15 +664,19 @@ void NetworkPluginServer::pingTimeout() {
}
else {
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". PING response not received.");
(*it)->connection->disconnect();
(*it)->connection.reset();
if ((*it)->connection) {
(*it)->connection->disconnect();
(*it)->connection.reset();
}
// handleSessionFinished((*it));
}
if ((*it)->users.size() == 0) {
LOG4CXX_INFO(logger, "Disconnecting backend " << (*it) << ". There are no users.");
// (*it)->connection->disconnect();
(*it)->connection.reset();
if ((*it)->connection) {
(*it)->connection->disconnect();
(*it)->connection.reset();
}
}
}
m_pingTimer->start();