X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=a921db193514338a9a0bdb31adefe6680f2d4f98;hb=4d42d544584875d0d71dab99f6785ac98324b971;hp=2198ca30907f24541d58ef11b45f834058fa78c4;hpb=bc05569e2de011206bf57ca715c6d342156aee46;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 2198ca309..a921db193 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -2,7 +2,7 @@ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * - * InspIRCd: (C) 2002-2008 InspIRCd Development Team + * InspIRCd: (C) 2002-2009 InspIRCd Development Team * See: http://www.inspircd.org/wiki/index.php/Credits * * This program is free but copyrighted software; see @@ -27,13 +27,6 @@ #define RUSAGE_SELF 0 #endif - /* CRT memory debugging */ - #ifdef DEBUG - #define _CRTDBG_MAP_ALLOC - #include - #include - #endif - #include // setuid #include // setgid #endif @@ -88,7 +81,7 @@ const char* ExitCodes[] = "CreateEvent failed" /* 19 */ }; -template void DeleteZero(T* n) +template static void DeleteZero(T* n) { if (n != NULL) { @@ -237,6 +230,8 @@ void InspIRCd::SetSignals() signal(SIGHUP, InspIRCd::SetSignal); signal(SIGPIPE, SIG_IGN); signal(SIGCHLD, SIG_IGN); + /* We want E2BIG not a signal! */ + signal(SIGXFSZ, SIG_IGN); #endif signal(SIGTERM, InspIRCd::SetSignal); } @@ -324,7 +319,7 @@ void InspIRCd::WritePID(const std::string &filename) InspIRCd::InspIRCd(int argc, char** argv) : GlobalCulls(this), - /* Functor initialisation. Note that the ordering here is very important. + /* Functor initialisation. Note that the ordering here is very important. * * THIS MUST MATCH ORDER OF DECLARATION OF THE HandleWhateverFunc classes * within class InspIRCd. @@ -356,7 +351,7 @@ InspIRCd::InspIRCd(int argc, char** argv) #ifdef WIN32 // Strict, frequent checking of memory on debug builds _CrtSetDbgFlag ( _CRTDBG_CHECK_ALWAYS_DF | _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); - + // Avoid erroneous frees on early exit WindowsIPC = 0; #endif @@ -405,10 +400,10 @@ InspIRCd::InspIRCd(int argc, char** argv) this->PI = new ProtocolInterface(this); this->s_signal = 0; - + // Create base manager classes early, so nothing breaks this->Users = new UserManager(this); - + this->Users->unregistered_count = 0; this->Users->clientlist = new user_hash(); @@ -523,7 +518,7 @@ InspIRCd::InspIRCd(int argc, char** argv) /* Windows can (and defaults to) hide file extensions, so let's play a bit nice for windows users. */ std::string txtconf = this->ConfigFileName; txtconf.append(".txt"); - i + if (ServerConfig::FileExists(txtconf.c_str())) { strlcat(this->ConfigFileName, ".txt", MAXBUF); @@ -541,7 +536,7 @@ InspIRCd::InspIRCd(int argc, char** argv) printf_c("(C) InspIRCd Development Team.\033[0m\n\n"); printf_c("Developers:\n"); printf_c("\t\033[1;32mBrain, FrostyCoolSlug, w00t, Om, Special\n"); - printf_c("\t\033[1;32mpippijn, peavey, aquanight, fez, psychon, dz\033[0m\n\n"); + printf_c("\t\033[1;32mpeavey, aquanight, psychon, dz, danieldg\033[0m\n\n"); printf_c("Others:\t\t\t\033[1;32mSee /INFO Output\033[0m\n"); Config->ClearStack(); @@ -630,7 +625,7 @@ InspIRCd::InspIRCd(int argc, char** argv) printf("\n"); this->Modules->LoadAll(); - + /* Just in case no modules were loaded - fix for bug #101 */ this->BuildISupport(); InitializeDisabledCommands(Config->DisabledCommands, this); @@ -648,7 +643,7 @@ InspIRCd::InspIRCd(int argc, char** argv) } printf("\nInspIRCd is now running as '%s'[%s] with %d max open sockets\n", Config->ServerName,Config->GetSID().c_str(), SE->GetMaxFds()); - + #ifndef WINDOWS if (!Config->nofork) { @@ -857,7 +852,7 @@ int InspIRCd::Run() this->stats->LastCPU = ru.ru_utime; } #else - WindowsIPC->Check(); + WindowsIPC->Check(); #endif }