diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/service/service.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/service/service.c b/src/service/service.c index d697b82..e21423c 100644 --- a/src/service/service.c +++ b/src/service/service.c @@ -214,7 +214,7 @@ static void wolf_service_report_status( DWORD current_state, service_status.dwWin32ExitCode = exit_code; service_status.dwServiceSpecificExitCode = 0; service_status.dwWaitHint = wait_hint; - service_status.dwControlsAccepted = SERVICE_ACCEPT_STOP; + service_status.dwControlsAccepted = SERVICE_ACCEPT_STOP | SERVICE_ACCEPT_SHUTDOWN; switch( current_state ) { case SERVICE_START_PENDING: @@ -263,6 +263,7 @@ void WINAPI wolf_service_ctrl_handler( DWORD control ) { switch( control ) { case SERVICE_CONTROL_STOP: + case SERVICE_CONTROL_SHUTDOWN: wolf_service_report_status( SERVICE_STOP_PENDING, NO_ERROR, 1000 ); SetEvent( service_stop_event ); break; |