Fix crashes on exit

This commit is contained in:
Jan Kaluza 2015-12-15 07:31:13 +01:00
parent da9138fe29
commit 13878f6a9d
3 changed files with 15 additions and 2 deletions

View file

@ -56,6 +56,9 @@ XMPPUserManager::XMPPUserManager(Component *component, UserRegistry *userRegistr
m_storageResponder = new StorageResponder(frontend->getIQRouter(), storageBackend, this);
m_storageResponder->start();
}
else {
m_storageResponder = NULL;
}
m_vcardResponder = new VCardResponder(frontend->getIQRouter(), component->getNetworkFactories(), this);
m_vcardResponder->onVCardRequired.connect(boost::bind(&XMPPUserManager::handleVCardRequired, this, _1, _2, _3));
@ -97,10 +100,16 @@ XMPPUserManager::~XMPPUserManager() {
delete m_userRegistration;
}
m_gatewayResponder->stop();
delete m_gatewayResponder;
m_adHocManager->stop();
delete m_adHocManager;
delete m_settings;
m_vcardResponder->stop();
delete m_vcardResponder;
m_rosterResponder->stop();
delete m_rosterResponder;
}

View file

@ -310,6 +310,10 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U
}
NetworkPluginServer::~NetworkPluginServer() {
#ifndef _WIN32
signal(SIGCHLD, SIG_IGN);
#endif
for (std::list<Backend *>::const_iterator it = m_clients.begin(); it != m_clients.end(); it++) {
LOG4CXX_INFO(logger, "Stopping backend " << *it);
std::string message;

View file

@ -65,7 +65,7 @@ UserManager::UserManager(Component *component, UserRegistry *userRegistry, Stora
m_removeTimer = m_component->getNetworkFactories()->getTimerFactory()->createTimer(1);
}
UserManager::~UserManager(){
UserManager::~UserManager() {
}