Keep Windows happy.
This commit is contained in:
parent
7bed2a7099
commit
3671ed806d
1 changed files with 11 additions and 4 deletions
|
@ -17,7 +17,7 @@
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
$Id: process.c,v 1.1.2.61 2003/08/02 20:50:38 guus Exp $
|
$Id: process.c,v 1.1.2.62 2003/08/03 12:38:18 guus Exp $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "system.h"
|
#include "system.h"
|
||||||
|
@ -165,6 +165,11 @@ DWORD WINAPI controlhandler(DWORD request, DWORD type, LPVOID boe, LPVOID bah) {
|
||||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(!running) {
|
||||||
|
status.dwCurrentState = SERVICE_STOP_PENDING;
|
||||||
|
SetServiceStatus(statushandle, &status);
|
||||||
|
}
|
||||||
|
|
||||||
return NO_ERROR;
|
return NO_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -175,7 +180,6 @@ VOID WINAPI run_service(DWORD argc, LPTSTR* argv)
|
||||||
|
|
||||||
|
|
||||||
status.dwServiceType = SERVICE_WIN32;
|
status.dwServiceType = SERVICE_WIN32;
|
||||||
status.dwCurrentState = SERVICE_RUNNING;
|
|
||||||
status.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;
|
status.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN;
|
||||||
status.dwWin32ExitCode = 0;
|
status.dwWin32ExitCode = 0;
|
||||||
status.dwServiceSpecificExitCode = 0;
|
status.dwServiceSpecificExitCode = 0;
|
||||||
|
@ -188,13 +192,16 @@ VOID WINAPI run_service(DWORD argc, LPTSTR* argv)
|
||||||
logger(LOG_ERR, _("System call `%s' failed: %s"), "RegisterServiceCtrlHandlerEx", winerror(GetLastError()));
|
logger(LOG_ERR, _("System call `%s' failed: %s"), "RegisterServiceCtrlHandlerEx", winerror(GetLastError()));
|
||||||
err = 1;
|
err = 1;
|
||||||
} else {
|
} else {
|
||||||
|
status.dwCurrentState = SERVICE_START_PENDING;
|
||||||
|
SetServiceStatus(statushandle, &status);
|
||||||
|
|
||||||
|
status.dwCurrentState = SERVICE_RUNNING;
|
||||||
SetServiceStatus(statushandle, &status);
|
SetServiceStatus(statushandle, &status);
|
||||||
|
|
||||||
err = main2(argc, argv);
|
err = main2(argc, argv);
|
||||||
|
|
||||||
status.dwCurrentState = SERVICE_STOPPED;
|
status.dwCurrentState = SERVICE_STOPPED;
|
||||||
status.dwWin32ExitCode = err;
|
//status.dwWin32ExitCode = err;
|
||||||
|
|
||||||
SetServiceStatus(statushandle, &status);
|
SetServiceStatus(statushandle, &status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue