X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=c5d958f8788b4cf59c350282e4dd4a9f8fc602e6;hb=8e734ee8a1a562be6bfde7fff7d7c8446179c039;hp=7e299700be31e0fc2a7a97e9de1d46a56d488e56;hpb=a4c1b1f4fcfd9cd967bf326afbbada3d91f9da34;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 7e299700b..c5d958f87 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -47,7 +47,6 @@ #include #include "xline.h" #include "exitcodes.h" -#include "testsuite.h" InspIRCd* ServerInstance = NULL; @@ -78,13 +77,6 @@ const char* ExitCodes[] = "Received SIGTERM" // 10 }; -#ifdef INSPIRCD_ENABLE_TESTSUITE -/** True if we have been told to run the testsuite from the commandline, - * rather than entering the mainloop. - */ -static int do_testsuite = 0; -#endif - template static void DeleteZero(T*&n) { T* t = n; @@ -102,6 +94,12 @@ void InspIRCd::Cleanup() } ports.clear(); + // Disconnect all local users + const std::string quitmsg = "Server shutting down"; + const UserManager::LocalList& list = Users.GetLocalUsers(); + while (!list.empty()) + ServerInstance->Users.QuitUser(list.front(), quitmsg); + GlobalCulls.Apply(); Modules->UnloadAll(); @@ -123,10 +121,11 @@ void InspIRCd::SetSignals() { #ifndef _WIN32 signal(SIGALRM, SIG_IGN); + signal(SIGCHLD, SIG_IGN); signal(SIGHUP, InspIRCd::SetSignal); signal(SIGPIPE, SIG_IGN); - signal(SIGCHLD, SIG_IGN); - /* We want E2BIG not a signal! */ + signal(SIGUSR1, SIG_IGN); + signal(SIGUSR2, SIG_IGN); signal(SIGXFSZ, SIG_IGN); #endif signal(SIGTERM, InspIRCd::SetSignal); @@ -290,9 +289,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : { "nopid", no_argument, &do_nopid, 1 }, { "runasroot", no_argument, &do_root, 1 }, { "version", no_argument, &do_version, 1 }, -#ifdef INSPIRCD_ENABLE_TESTSUITE - { "testsuite", no_argument, &do_testsuite, 1 }, -#endif { 0, 0, 0, 0 } }; @@ -330,11 +326,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : } } -#ifdef INSPIRCD_ENABLE_TESTSUITE - if (do_testsuite) - do_nofork = do_debug = true; -#endif - if (do_version) { std::cout << std::endl << INSPIRCD_VERSION << std::endl; @@ -442,7 +433,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : // Build ISupport as ModuleManager::LoadAll() does not do it this->ISupport.Build(); - Config->ApplyDisabledCommands(); if (!pl.empty()) { @@ -586,16 +576,6 @@ void InspIRCd::UpdateTime() void InspIRCd::Run() { -#ifdef INSPIRCD_ENABLE_TESTSUITE - /* See if we're supposed to be running the test suite rather than entering the mainloop */ - if (do_testsuite) - { - TestSuite* ts = new TestSuite; - delete ts; - return; - } -#endif - UpdateTime(); time_t OLDTIME = TIME.tv_sec;