[SERVICES]

- Get rid of the obsolete USE_SERVICE_START_PENDING option.
- Services do not accept any command when they are in SERVICE_START_PENDING state.
Patch by Hermès BÉLUSCA - MAÏTO.

svn path=/trunk/; revision=73416
This commit is contained in:
Eric Kohl 2016-12-03 09:33:03 +00:00
parent 3d7ae255a1
commit 974f97cce5

View file

@ -19,12 +19,6 @@
#define NDEBUG #define NDEBUG
#include <debug.h> #include <debug.h>
/*
* Uncomment the line below to start services
* using the SERVICE_START_PENDING state.
*/
#define USE_SERVICE_START_PENDING
/* /*
* Uncomment the line below to use asynchronous IO operations * Uncomment the line below to use asynchronous IO operations
* on the service control pipes. * on the service control pipes.
@ -1766,8 +1760,8 @@ ScmLoadService(PSERVICE Service,
dwError = ScmLoadDriver(Service); dwError = ScmLoadDriver(Service);
if (dwError == ERROR_SUCCESS) if (dwError == ERROR_SUCCESS)
{ {
Service->Status.dwControlsAccepted = SERVICE_ACCEPT_STOP;
Service->Status.dwCurrentState = SERVICE_RUNNING; Service->Status.dwCurrentState = SERVICE_RUNNING;
Service->Status.dwControlsAccepted = SERVICE_ACCEPT_STOP;
} }
} }
else // if (Service->Status.dwServiceType & (SERVICE_WIN32 | SERVICE_INTERACTIVE_PROCESS)) else // if (Service->Status.dwServiceType & (SERVICE_WIN32 | SERVICE_INTERACTIVE_PROCESS))
@ -1779,11 +1773,8 @@ ScmLoadService(PSERVICE Service,
dwError = ScmStartUserModeService(Service, argc, argv); dwError = ScmStartUserModeService(Service, argc, argv);
if (dwError == ERROR_SUCCESS) if (dwError == ERROR_SUCCESS)
{ {
#ifdef USE_SERVICE_START_PENDING
Service->Status.dwCurrentState = SERVICE_START_PENDING; Service->Status.dwCurrentState = SERVICE_START_PENDING;
#else Service->Status.dwControlsAccepted = 0;
Service->Status.dwCurrentState = SERVICE_RUNNING;
#endif
} }
else else
{ {