Piotr Caban : services: Terminate service when its status is set to SERVICE_STOPPED.

Alexandre Julliard julliard at winehq.org
Mon Dec 12 12:25:54 CST 2011


Module: wine
Branch: master
Commit: c21ede4474af3f2307bdc3178ae3cb5b0c26dbe5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c21ede4474af3f2307bdc3178ae3cb5b0c26dbe5

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Dec 12 11:04:58 2011 +0100

services: Terminate service when its status is set to SERVICE_STOPPED.

---

 programs/services/rpc.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index 0de183a..579602a 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -697,7 +697,9 @@ DWORD __cdecl svcctl_SetServiceStatus(
     service->service_entry->status.dwWaitHint = lpServiceStatus->dwWaitHint;
     service_unlock(service->service_entry);
 
-    if (service->service_entry->status_changed_event)
+    if (lpServiceStatus->dwCurrentState == SERVICE_STOPPED)
+        service_terminate(service->service_entry);
+    else if (service->service_entry->status_changed_event)
         SetEvent(service->service_entry->status_changed_event);
 
     return ERROR_SUCCESS;




More information about the wine-cvs mailing list