summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-09-09 11:05:14 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-09-09 11:05:14 +0000
commit014502d9513517841389a59ae98ac0c705d158b5 (patch)
tree5a11232f246e19908bf9cc89d009cc652b9c682e
parent3cc879f8dd58f4801a1b85392fb00b449cdc7003 (diff)
Remember to free some stuff when failing in the ctor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10489 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/modules/extra/m_mysql.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/modules/extra/m_mysql.cpp b/src/modules/extra/m_mysql.cpp
index 7edf602e6..7e2420267 100644
--- a/src/modules/extra/m_mysql.cpp
+++ b/src/modules/extra/m_mysql.cpp
@@ -761,6 +761,7 @@ ModuleSQL::ModuleSQL(InspIRCd* Me) : Module(Me), rehashing(false)
if (MessagePipe->GetFd() == -1)
{
delete ConnMutex;
+ ServerInstance->Modules->DoneWithInterface("SQLutils");
throw ModuleException("m_mysql: unable to create ITC pipe");
}
else
@@ -781,6 +782,11 @@ ModuleSQL::ModuleSQL(InspIRCd* Me) : Module(Me), rehashing(false)
/* Tell worker thread to exit NOW,
* Automatically joins */
delete Dispatcher;
+ delete LoggingMutex;
+ delete ResultsMutex;
+ delete QueueMutex;
+ delete ConnMutex;
+ ServerInstance->Modules->DoneWithInterface("SQLutils");
throw ModuleException("m_mysql: Unable to publish feature 'SQL'");
}