You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by mt...@apache.org on 2013/01/09 11:54:45 UTC
svn commit: r1430780 -
/commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c
Author: mturk
Date: Wed Jan 9 10:54:45 2013
New Revision: 1430780
URL: http://svn.apache.org/viewvc?rev=1430780&view=rev
Log:
Make sure STOP and SHUTDOWN share the same code
Modified:
commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c
Modified: commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c
URL: http://svn.apache.org/viewvc/commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c?rev=1430780&r1=1430779&r2=1430780&view=diff
==============================================================================
--- commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c (original)
+++ commons/proper/daemon/branches/1.0.x/src/native/windows/apps/prunsrv/prunsrv.c Wed Jan 9 10:54:45 2013
@@ -1295,12 +1295,14 @@ void WINAPI service_ctrl_handler(DWORD d
HANDLE stopThread;
switch (dwCtrlCode) {
+ case SERVICE_CONTROL_SHUTDOWN:
+ apxLogWrite(APXLOG_MARK_INFO "Service SHUTDOWN signaled");
case SERVICE_CONTROL_STOP:
reportServiceStatus(SERVICE_STOP_PENDING, NO_ERROR, 3000);
/* Stop the service asynchronously */
stopThread = CreateThread(NULL, 0,
serviceStop,
- (LPVOID)SERVICE_CONTROL_STOP,
+ (LPVOID)dwCtrlCode,
0, &threadId);
#if 0
/* Seems we don't need to wait for the stop thread
@@ -1309,18 +1311,6 @@ void WINAPI service_ctrl_handler(DWORD d
WaitForSingleObject(stopThread, INFINITE);
#endif
CloseHandle(stopThread);
-
- return;
- case SERVICE_CONTROL_SHUTDOWN:
- apxLogWrite(APXLOG_MARK_INFO "Service SHUTDOWN signaled");
- reportServiceStatus(SERVICE_STOP_PENDING, NO_ERROR, 3000);
- /* Stop the service asynchronously */
- stopThread = CreateThread(NULL, 0,
- serviceStop,
- (LPVOID)SERVICE_CONTROL_SHUTDOWN,
- 0, &threadId);
- WaitForSingleObject(stopThread, INFINITE);
- CloseHandle(stopThread);
return;
case SERVICE_CONTROL_INTERROGATE:
reportServiceStatus(_service_status.dwCurrentState,