]> git.netwichtig.de Git - user/henk/code/inspircd.git/commitdiff
Fix exit in wrong place, and add new exitcodes.h
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sat, 23 Dec 2006 16:41:22 +0000 (16:41 +0000)
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>
Sat, 23 Dec 2006 16:41:22 +0000 (16:41 +0000)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6077 e03df62e-2008-0410-955e-edbf42e46eb7

include/exitcodes.h [new file with mode: 0644]
include/inspircd.h
src/inspircd.cpp

diff --git a/include/exitcodes.h b/include/exitcodes.h
new file mode 100644 (file)
index 0000000..b422226
--- /dev/null
@@ -0,0 +1,48 @@
+#ifndef __EXITCODE_H__
+#define __EXITCODE_H__
+
+/** Valid exit codes to be used with InspIRCd::Exit()
+ *  */
+enum ExitStatus
+{
+       EXIT_STATUS_NOERROR = 0,
+       EXIT_STATUS_DIE = 1,
+       EXIT_STATUS_FAILED_EXEC = 2,
+       EXIT_STATUS_INTERNAL = 3,
+       EXIT_STATUS_CONFIG = 4,
+       EXIT_STATUS_LOG = 5,
+       EXIT_STATUS_FORK = 6,
+       EXIT_STATUS_ARGV = 7,
+       EXIT_STATUS_BIND = 8,
+       EXIT_STATUS_PID = 9,
+       EXIT_STATUS_SOCKETENGINE = 10,
+       EXIT_STATUS_ROOT = 11,
+       EXIT_STATUS_DIETAG = 12,
+       EXIT_STATUS_MODULE = 13,
+       EXIT_STATUS_SIGTERM = 15        /* Note: dont move this value. It corresponds with the value of #define SIGTERM. */
+};
+
+/** Array that maps exit codes (ExitStatus types) to
+ *  * human-readable strings to be shown on shutdown.
+ *   */
+const char* ExitCodes[] =
+{
+       "No error", /* 0 */
+       "DIE command", /* 1 */
+       "execv() failed", /* 2 */
+       "Internal error", /* 3 */
+       "Config file error", /* 4 */
+       "Logfile error", /* 5 */
+       "Fork failed", /* 6 */
+       "Bad commandline parameters", /* 7 */
+       "No ports could be bound", /* 8 */
+       "Can't write PID file", /* 9 */
+       "SocketEngine could not initialize", /* 10 */
+       "Refusing to start up as root", /* 11 */
+       "Found a <die> tag!", /* 12 */
+       "Couldn't load module on startup", /* 13 */
+       "", /* 14 */
+       "Received SIGTERM", /* 15 */
+};
+
+#endif
index a15c1fd6811722c0d56e8f971ec8c18dd46a9c83..4aa61e943ba254175248b4a7005619a10128c3f1 100644 (file)
@@ -26,8 +26,7 @@
 #include "command_parse.h"
 #include "snomasks.h"
 
-/** Returned by some functions to indicate failure,
- * and the exit code of the program if it terminates.
+/** Returned by some functions to indicate failure.
  */
 #define ERROR -1
 
@@ -655,6 +654,7 @@ class InspIRCd : public classbase
 
        /** Causes the server to exit immediately
         * @param The exit code to give to the operating system
+        * (See the ExitStatus enum for valid values)
         */
        static void Exit(int status);
 
index ab438df1689a7f3164d09a80f13a1a837d0cf3ee..ceeaf6650a1f6f8fb2e943c1a3e2e330932e195a 100644 (file)
@@ -167,7 +167,7 @@ bool InspIRCd::DaemonSeed()
                 */
                while (kill(childpid, 0) != -1)
                        sleep(1);
-               Exit(EXIT_STATUS_FORK);
+               exit(0);
        }
        setsid ();
        umask (007);