From: <ps...@us...> - 2008-08-23 20:20:29
|
Revision: 1164 http://znc.svn.sourceforge.net/znc/?rev=1164&view=rev Author: psychon Date: 2008-08-23 20:20:36 +0000 (Sat, 23 Aug 2008) Log Message: ----------- Handle a theoretically possible 'throw UNLOAD' in CModule::OnLoad() Modified Paths: -------------- trunk/Modules.cpp Modified: trunk/Modules.cpp =================================================================== --- trunk/Modules.cpp 2008-08-23 13:24:28 UTC (rev 1163) +++ trunk/Modules.cpp 2008-08-23 20:20:36 UTC (rev 1164) @@ -795,7 +795,15 @@ pModule->SetDescription(GetDesc()); push_back(pModule); - if (!pModule->OnLoad(sArgs, sRetMsg)) { + bool bLoaded; + try { + bLoaded = pModule->OnLoad(sArgs, sRetMsg); + } catch (CModule::EModException e) { + bLoaded = false; + sRetMsg = "Caught an exception"; + } + + if (!bLoaded) { UnloadModule(sModule, sModPath); if (!sRetMsg.empty()) sRetMsg = "Module [" + sModule + "] aborted: " + sRetMsg; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |