summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-24 23:02:03 +0000
committerbrain <brain@e03df62e-2008-0410-955e-edbf42e46eb7>2008-08-24 23:02:03 +0000
commit50fb079808cf6ff76fb8213c3469e435774ae42f (patch)
tree1ac2104f2f88ed4f8d89d8ace9cf83ca0a1dcd60
parent5a3ee26c5544376f552a4f6417a43b510514fe3c (diff)
Properly name the windows service error constants and put proper descriptions in the error strings
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10251 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--include/exitcodes.h43
-rw-r--r--src/inspircd.cpp9
-rw-r--r--win/win32service.cpp10
3 files changed, 28 insertions, 34 deletions
diff --git a/include/exitcodes.h b/include/exitcodes.h
index 1cb26eec8..66e8d4d72 100644
--- a/include/exitcodes.h
+++ b/include/exitcodes.h
@@ -18,29 +18,26 @@
*/
enum ExitStatus
{
- EXIT_STATUS_NOERROR = 0, /* No error */
- EXIT_STATUS_DIE = 1, /* Operator issued DIE */
- EXIT_STATUS_FAILED_EXEC = 2, /* execv() failed */
- EXIT_STATUS_INTERNAL = 3, /* Internal error */
- EXIT_STATUS_CONFIG = 4, /* Config error */
- EXIT_STATUS_LOG = 5, /* Log file error */
- EXIT_STATUS_FORK = 6, /* fork() failed */
- EXIT_STATUS_ARGV = 7, /* Invalid program arguments */
- EXIT_STATUS_BIND = 8, /* Port binding failed on all ports */
- EXIT_STATUS_PID = 9, /* Couldn't write PID file */
- EXIT_STATUS_SOCKETENGINE = 10, /* Couldn't start socket engine */
- EXIT_STATUS_ROOT = 11, /* Refusing to start as root */
- EXIT_STATUS_DIETAG = 12, /* Found a die tag in the config file */
- EXIT_STATUS_MODULE = 13, /* Couldn't load a required module */
- EXIT_STATUS_CREATEPROCESS = 14, /* CreateProcess failed (windows) */
- EXIT_STATUS_SIGTERM = 15, /* Note: dont move this value. It corresponds with the value of #define SIGTERM. */
- EXIT_STATUS_BADHANDLER = 16, /* Bad command handler loaded */
- EXIT_STATUS_WINSERVICE_1 = 17, /* Windows service specific failure, will name these later */
- EXIT_STATUS_WINSERVICE_2 = 18, /* Windows service specific failure, will name these later */
- EXIT_STATUS_WINSERVICE_3 = 19, /* Windows service specific failure, will name these later */
- EXIT_STATUS_WINSERVICE_4 = 20, /* Windows service specific failure, will name these later */
- EXIT_STATUS_WINSERVICE_5 = 21, /* Windows service specific failure, will name these later */
- EXIT_STATUS_WINSERVICE_6 = 22 /* Windows service specific failure, will name these later */
+ EXIT_STATUS_NOERROR = 0, /* No error */
+ EXIT_STATUS_DIE = 1, /* Operator issued DIE */
+ EXIT_STATUS_FAILED_EXEC = 2, /* execv() failed */
+ EXIT_STATUS_INTERNAL = 3, /* Internal error */
+ EXIT_STATUS_CONFIG = 4, /* Config error */
+ EXIT_STATUS_LOG = 5, /* Log file error */
+ EXIT_STATUS_FORK = 6, /* fork() failed */
+ EXIT_STATUS_ARGV = 7, /* Invalid program arguments */
+ EXIT_STATUS_BIND = 8, /* Port binding failed on all ports */
+ EXIT_STATUS_PID = 9, /* Couldn't write PID file */
+ EXIT_STATUS_SOCKETENGINE = 10, /* Couldn't start socket engine */
+ EXIT_STATUS_ROOT = 11, /* Refusing to start as root */
+ EXIT_STATUS_DIETAG = 12, /* Found a die tag in the config file */
+ EXIT_STATUS_MODULE = 13, /* Couldn't load a required module */
+ EXIT_STATUS_CREATEPROCESS = 14, /* CreateProcess failed (windows) */
+ EXIT_STATUS_SIGTERM = 15, /* Note: dont move this value. It corresponds with the value of #define SIGTERM. */
+ EXIT_STATUS_BADHANDLER = 16, /* Bad command handler loaded */
+ EXIT_STATUS_RSCH_FAILED = 17, /* Windows service specific failure, will name these later */
+ EXIT_STATUS_UPDATESCM_FAILED = 18, /* Windows service specific failure, will name these later */
+ EXIT_STATUS_CREATE_EVENT_FAILED = 19 /* Windows service specific failure, will name these later */
};
/** Array that maps exit codes (ExitStatus types) to
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 550baa027..3bebbf30d 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -78,12 +78,9 @@ const char* ExitCodes[] =
"Could not create windows forked process", /* 14 */
"Received SIGTERM", /* 15 */
"Bad command handler loaded", /* 16 */
- "Windows service specific error 1", /* 17 - Dont know what to call these yet, will give them */
- "Windows service specific error 2", /* 18 - better descriptions later on */
- "Windows service specific error 3", /* 19 */
- "Windows service specific error 4", /* 20 */
- "Windows service specific error 5", /* 21 */
- "Windows service specific error 6" /* 22 */
+ "RegisterServiceCtrlHandler failed", /* 17 */
+ "UpdateSCMStatus failed", /* 18 */
+ "CreateEvent failed" /* 19 */
};
void InspIRCd::Cleanup()
diff --git a/win/win32service.cpp b/win/win32service.cpp
index ab1fae140..62d75178c 100644
--- a/win/win32service.cpp
+++ b/win/win32service.cpp
@@ -84,7 +84,7 @@ void SetServiceRunning()
BOOL success = UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0, 0, 0);
if (!success)
{
- terminateService(22, GetLastError());
+ terminateService(18, GetLastError());
return;
}
}
@@ -184,14 +184,14 @@ VOID ServiceMain(DWORD argc, LPTSTR *argv)
serviceStatusHandle = RegisterServiceCtrlHandler("InspIRCd", (LPHANDLER_FUNCTION)ServiceCtrlHandler);
if (!serviceStatusHandle)
{
- terminateService(18, GetLastError());
+ terminateService(17, GetLastError());
return;
}
success = UpdateSCMStatus(SERVICE_START_PENDING, NO_ERROR, 0, 1, 1000);
if (!success)
{
- terminateService(19, GetLastError());
+ terminateService(18, GetLastError());
return;
}
@@ -200,14 +200,14 @@ VOID ServiceMain(DWORD argc, LPTSTR *argv)
if (!killServiceEvent || !hThreadEvent)
{
- terminateService(20, GetLastError());
+ terminateService(19, GetLastError());
return;
}
success = UpdateSCMStatus(SERVICE_START_PENDING, NO_ERROR, 0, 2, 1000);
if (!success)
{
- terminateService(21, GetLastError());
+ terminateService(18, GetLastError());
return;
}