Changeset - 13878f6a9dd2
[Not reviewed]
0 3 0
Jan Kaluza - 10 years ago 2015-12-15 07:31:13
jkaluza@redhat.com
Fix crashes on exit
3 files changed with 15 insertions and 2 deletions:
0 comments (0 inline, 0 general)
spectrum/src/frontends/xmpp/XMPPUserManager.cpp
Show inline comments
 
@@ -53,12 +53,15 @@ XMPPUserManager::XMPPUserManager(Component *component, UserRegistry *userRegistr
 

	
 
	XMPPFrontend *frontend = static_cast<XMPPFrontend *>(component->getFrontend());
 
	if (storageBackend) {
 
		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));
 
	m_vcardResponder->onVCardUpdated.connect(boost::bind(&XMPPUserManager::handleVCardUpdated, this, _1, _2));
 
	m_vcardResponder->start();
 

	
 
@@ -94,16 +97,22 @@ XMPPUserManager::~XMPPUserManager() {
 

	
 
	if (m_userRegistration) {
 
		m_userRegistration->stop();
 
		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;
 
}
 

	
 
void XMPPUserManager::sendVCard(unsigned int id, Swift::VCard::ref vcard) {
 
	m_vcardResponder->sendVCard(id, vcard);
 
}
src/NetworkPluginServer.cpp
Show inline comments
 
@@ -307,12 +307,16 @@ NetworkPluginServer::NetworkPluginServer(Component *component, Config *config, U
 

	
 
	m_server = component->getNetworkFactories()->getConnectionServerFactory()->createConnectionServer(Swift::HostAddress(CONFIG_STRING(m_config, "service.backend_host")), boost::lexical_cast<int>(CONFIG_STRING(m_config, "service.backend_port")));
 
	m_server->onNewConnection.connect(boost::bind(&NetworkPluginServer::handleNewClientConnection, this, _1));
 
}
 

	
 
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;
 
		pbnetwork::WrapperMessage wrap;
 
		wrap.set_type(pbnetwork::WrapperMessage_Type_TYPE_EXIT);
 
		wrap.SerializeToString(&message);
src/UserManager.cpp
Show inline comments
 
@@ -62,13 +62,13 @@ UserManager::UserManager(Component *component, UserRegistry *userRegistry, Stora
 
	m_userRegistry->onConnectUser.connect(bind(&UserManager::connectUser, this, _1));
 
	m_userRegistry->onDisconnectUser.connect(bind(&UserManager::disconnectUser, this, _1));
 

	
 
	m_removeTimer = m_component->getNetworkFactories()->getTimerFactory()->createTimer(1);
 
}
 

	
 
UserManager::~UserManager(){
 
UserManager::~UserManager() {
 

	
 
}
 

	
 
void UserManager::addUser(User *user) {
 
	m_users[user->getJID().toBare().toString()] = user;
 
	if (m_storageBackend) {
0 comments (0 inline, 0 general)