From 71532e29af6d0be878596e47dbd66a6ce573893d Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 14 Oct 2007 20:53:44 +0000 Subject: 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 --- src/inspircd.cpp | 6 +++++- src/server.cpp | 6 ++++-- 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() -- cgit v1.2.3