summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-10-14 20:53:44 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2007-10-14 20:53:44 +0000
commit71532e29af6d0be878596e47dbd66a6ce573893d (patch)
tree51b4ebac61871aa04c3b01fcba3c5520c61965a7
parente4aa8c95131f8b7bb3b6ff5460809ab3a6b7f588 (diff)
Fix crashing on startup if there was an error condition in win32
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8193 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/inspircd.cpp6
-rw-r--r--src/server.cpp6
2 files changed, 9 insertions, 3 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 34d15e4e3..cf062e397 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -106,15 +106,19 @@ void InspIRCd::Cleanup()
for (int k = 0; k <= MyModCount; k++)
this->Modules->Unload(mymodnames[k].c_str());
}
+
}
/* Close logging */
if (this->Logger)
this->Logger->Close();
+
/* Cleanup Server Names */
for(servernamelist::iterator itr = servernames.begin(); itr != servernames.end(); ++itr)
delete (*itr);
+
+
}
void InspIRCd::Restart(const std::string &reason)
@@ -388,7 +392,7 @@ InspIRCd::InspIRCd(int argc, char** argv)
{
DWORD ExitCode = WindowsForkStart(this);
if(ExitCode)
- Exit(ExitCode);
+ exit(ExitCode);
}
// Set up winsock
diff --git a/src/server.cpp b/src/server.cpp
index 2722c6831..4568c43fd 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -31,6 +31,7 @@ void InspIRCd::SignalHandler(int signal)
void InspIRCd::Exit(int status)
{
+ printf("exit with status %d\n", status);
#ifdef WINDOWS
delete WindowsIPC;
#endif
@@ -38,8 +39,9 @@ void InspIRCd::Exit(int status)
{
this->SendError("Exiting with status " + ConvToStr(status) + " (" + std::string(ExitCodes[status]) + ")");
this->Cleanup();
- }
- exit (status);
+ }
+ printf("Exit done.\n");
+ exit (status);
}
void InspIRCd::Rehash()