Alexandre Julliard : advapi32: Fix set process request, a pipe instance can only handle one request.

Alexandre Julliard julliard at wine.codeweavers.com
Wed May 9 07:43:07 CDT 2007


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

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Tue May  8 21:35:34 2007 +0200

advapi32: Fix set process request, a pipe instance can only handle one request.

---

 dlls/advapi32/service.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/dlls/advapi32/service.c b/dlls/advapi32/service.c
index 22489a9..587b9ae 100644
--- a/dlls/advapi32/service.c
+++ b/dlls/advapi32/service.c
@@ -1590,8 +1590,14 @@ BOOL WINAPI StartServiceW(SC_HANDLE hService, DWORD dwNumServiceArgs,
 
     if (handle != INVALID_HANDLE_VALUE)
     {
-        if (service_send_start_message(handle, lpServiceArgVectors, dwNumServiceArgs))
-            r = service_set_processID(handle, dwProcessId, &dwResult);
+        r = service_send_start_message(handle, lpServiceArgVectors, dwNumServiceArgs);
+        CloseHandle(handle);
+    }
+
+    handle = service_open_pipe(hsvc->name);
+    if (handle != INVALID_HANDLE_VALUE)
+    {
+        service_set_processID(handle, dwProcessId, &dwResult);
         CloseHandle(handle);
     }
 




More information about the wine-cvs mailing list