Alexandre Julliard : advapi32: Fix set process request, a pipe instance can only handle one request.
Module: wine Branch: master Commit: 0a5e707a39d5c97c65fa066a52f6d52572532799 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0a5e707a39d5c97c65fa066a52... Author: Alexandre Julliard <julliard(a)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); }
participants (1)
-
Alexandre Julliard