X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Finspircd.cpp;h=a671c3d7b2872602a5b50b2e7f28ca843769765c;hb=48a400f2e068527b338ceecf8ed1dde2da971ca9;hp=d7b616ecc8ec2ca7a9ea666afeb612861498e4fc;hpb=6abc789577a86ffcdce8fae81b37f825d9ca4226;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/inspircd.cpp b/src/inspircd.cpp index d7b616ecc..a671c3d7b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -35,12 +35,6 @@ #include #include #include - - /* Some systems don't define RUSAGE_SELF. This should fix them. */ - #ifndef RUSAGE_SELF - #define RUSAGE_SELF 0 - #endif - #include // setuid #include // setgid #else @@ -138,15 +132,10 @@ void InspIRCd::SetSignals() signal(SIGTERM, InspIRCd::SetSignal); } -void InspIRCd::QuickExit(int status) -{ - exit(status); -} - // Required for returning the proper value of EXIT_SUCCESS for the parent process static void VoidSignalHandler(int signalreceived) { - exit(0); + exit(EXIT_STATUS_NOERROR); } bool InspIRCd::DaemonSeed() @@ -155,7 +144,7 @@ bool InspIRCd::DaemonSeed() std::cout << "InspIRCd Process ID: " << con_green << GetCurrentProcessId() << con_reset << std::endl; return true; #else - // Do not use QuickExit here: It will exit with status SIGTERM which would break e.g. daemon scripts + // Do not use exit() here: It will exit with status SIGTERM which would break e.g. daemon scripts signal(SIGTERM, VoidSignalHandler); int childpid = fork(); @@ -172,7 +161,7 @@ bool InspIRCd::DaemonSeed() */ while (kill(childpid, 0) != -1) sleep(1); - exit(0); + exit(EXIT_STATUS_NOERROR); } setsid (); std::cout << "InspIRCd Process ID: " << con_green << getpid() << con_reset << std::endl; @@ -404,7 +393,6 @@ InspIRCd::InspIRCd(int argc, char** argv) : this->Config->Read(); this->Config->Apply(NULL, ""); Logs->OpenFileLogs(); - ModeParser::InitBuiltinModes(); // If we don't have a SID, generate one based on the server name and the server description if (Config->sid.empty()) @@ -510,20 +498,20 @@ InspIRCd::InspIRCd(int argc, char** argv) : if (setgroups(0, NULL) == -1) { this->Logs->Log("STARTUP", LOG_DEFAULT, "setgroups() failed (wtf?): %s", strerror(errno)); - this->QuickExit(0); + exit(EXIT_STATUS_CONFIG); } struct group* g = getgrnam(SetGroup.c_str()); if (!g) { this->Logs->Log("STARTUP", LOG_DEFAULT, "getgrnam(%s) failed (wrong group?): %s", SetGroup.c_str(), strerror(errno)); - this->QuickExit(0); + exit(EXIT_STATUS_CONFIG); } if (setgid(g->gr_gid) == -1) { this->Logs->Log("STARTUP", LOG_DEFAULT, "setgid(%d) failed (wrong group?): %s", g->gr_gid, strerror(errno)); - this->QuickExit(0); + exit(EXIT_STATUS_CONFIG); } } @@ -535,13 +523,13 @@ InspIRCd::InspIRCd(int argc, char** argv) : if (!u) { this->Logs->Log("STARTUP", LOG_DEFAULT, "getpwnam(%s) failed (wrong user?): %s", SetUser.c_str(), strerror(errno)); - this->QuickExit(0); + exit(EXIT_STATUS_CONFIG); } if (setuid(u->pw_uid) == -1) { this->Logs->Log("STARTUP", LOG_DEFAULT, "setuid(%d) failed (wrong user?): %s", u->pw_uid, strerror(errno)); - this->QuickExit(0); + exit(EXIT_STATUS_CONFIG); } }