advapi32: Fix set process request, a pipe instance can only handle one request.
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 @@
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);
}