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_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 */
};
/** Array that maps exit codes (ExitStatus types) to
"Couldn't load module on startup", /* 13 */
"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 */
};
void InspIRCd::Cleanup()
BOOL success = UpdateSCMStatus(SERVICE_RUNNING, NO_ERROR, 0, 0, 0);
if (!success)
{
- terminateService(6, GetLastError());
+ terminateService(22, GetLastError());
return;
}
}
serviceStatusHandle = RegisterServiceCtrlHandler("InspIRCd", (LPHANDLER_FUNCTION)ServiceCtrlHandler);
if (!serviceStatusHandle)
{
- terminateService(1, GetLastError());
+ terminateService(18, GetLastError());
return;
}
success = UpdateSCMStatus(SERVICE_START_PENDING, NO_ERROR, 0, 1, 1000);
if (!success)
{
- terminateService(2, GetLastError());
+ terminateService(19, GetLastError());
return;
}
if (!killServiceEvent || !hThreadEvent)
{
- terminateService(99, GetLastError());
+ terminateService(20, GetLastError());
return;
}
success = UpdateSCMStatus(SERVICE_START_PENDING, NO_ERROR, 0, 2, 1000);
if (!success)
{
- terminateService(2, GetLastError());
+ terminateService(21, GetLastError());
return;
}