Module: wine Branch: master Commit: 0a5e707a39d5c97c65fa066a52f6d52572532799 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0a5e707a39d5c97c65fa066a52...
Author: Alexandre Julliard julliard@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); }