diff options
author | Peter Powell <petpow@saberuk.com> | 2017-12-10 13:48:57 +0000 |
---|---|---|
committer | Peter Powell <petpow@saberuk.com> | 2017-12-23 12:13:06 +0000 |
commit | 57330e973b3eb1f2a84803c84daf9d6b420859fd (patch) | |
tree | 7391111eb7d41008268d81f084f82c5f5f2dcff1 | |
parent | b6f57c0f06f4905b04de6ec2069522d2263626c4 (diff) |
Get rid of InspIRCd::QuickExit.
This is just a thin wrapper around exit(). I don't think we really
need it.
While we are changing this code the setgroup/setuser code should be
using EXIT_STATUS_CONFIG too.
-rw-r--r-- | include/inspircd.h | 5 | ||||
-rw-r--r-- | src/inspircd.cpp | 21 | ||||
-rw-r--r-- | src/socketengine.cpp | 2 |
3 files changed, 9 insertions, 19 deletions
diff --git a/include/inspircd.h b/include/inspircd.h index 7e9007a1d..40c368106 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -402,11 +402,6 @@ class CoreExport InspIRCd */ void Exit(int status); - /** Causes the server to exit immediately with exit code 0. - * The status code is required for signal handlers, and ignored. - */ - static void QuickExit(int status); - /** Formats the input string with the specified arguments. * @param formatString The string to format * @param ... A variable number of format arguments. diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 8c5137d3b..a671c3d7b 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -132,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() @@ -149,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(); @@ -166,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; @@ -503,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); } } @@ -528,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); } } diff --git a/src/socketengine.cpp b/src/socketengine.cpp index 58e15af44..986726f3a 100644 --- a/src/socketengine.cpp +++ b/src/socketengine.cpp @@ -66,7 +66,7 @@ void EventHandler::OnEventHandlerError(int errornum) void SocketEngine::InitError() { std::cerr << con_red << "FATAL ERROR!" << con_reset << " Socket engine initialization failed. " << strerror(errno) << '.' << std::endl; - ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE); + exit(EXIT_STATUS_SOCKETENGINE); } void SocketEngine::LookupMaxFds() |