summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2017-12-10 13:48:57 +0000
committerPeter Powell <petpow@saberuk.com>2017-12-23 12:13:06 +0000
commit57330e973b3eb1f2a84803c84daf9d6b420859fd (patch)
tree7391111eb7d41008268d81f084f82c5f5f2dcff1
parentb6f57c0f06f4905b04de6ec2069522d2263626c4 (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.h5
-rw-r--r--src/inspircd.cpp21
-rw-r--r--src/socketengine.cpp2
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()