Sebastian Lackner : services: Return an error instead of BOOL from process_send_start_message.
Alexandre Julliard
julliard at winehq.org
Fri Aug 19 08:19:04 CDT 2016
Module: wine
Branch: master
Commit: 51f36c220e4c2f936fd4e5c7bbdfafd4ba09b24a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=51f36c220e4c2f936fd4e5c7bbdfafd4ba09b24a
Author: Sebastian Lackner <sebastian at fds-team.de>
Date: Fri Aug 19 08:00:41 2016 +0200
services: Return an error instead of BOOL from process_send_start_message.
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
programs/services/services.c | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/programs/services/services.c b/programs/services/services.c
index 36ceae8..6164c45 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -838,14 +838,13 @@ static DWORD service_is_running(struct service_entry *service)
/******************************************************************************
* process_send_start_message
*/
-static BOOL process_send_start_message(struct process_entry *process, const WCHAR *name,
- LPCWSTR *argv, DWORD argc)
+static DWORD process_send_start_message(struct process_entry *process, const WCHAR *name,
+ const WCHAR **argv, DWORD argc)
{
OVERLAPPED overlapped;
DWORD i, len, result;
service_start_info *ssi;
LPWSTR p;
- BOOL r;
WINE_TRACE("%p %s %p %d\n", process, wine_dbgstr_w(name), argv, argc);
@@ -862,13 +861,13 @@ static BOOL process_send_start_message(struct process_entry *process, const WCHA
if (!HasOverlappedIoCompleted( &overlapped ))
{
WINE_ERR("service %s failed to start\n", wine_dbgstr_w(name));
- return FALSE;
+ return ERROR_SERVICE_REQUEST_TIMEOUT;
}
}
else if (GetLastError() != ERROR_PIPE_CONNECTED)
{
WINE_ERR("pipe connect failed\n");
- return FALSE;
+ return ERROR_SERVICE_REQUEST_TIMEOUT;
}
}
@@ -894,16 +893,11 @@ static BOOL process_send_start_message(struct process_entry *process, const WCHA
}
*p=0;
- r = process_send_command( process, ssi, ssi->total_size, &result );
- if (r && result)
- {
- SetLastError(result);
- r = FALSE;
- }
-
- HeapFree(GetProcessHeap(),0,ssi);
+ if (!process_send_command(process, ssi, ssi->total_size, &result))
+ result = ERROR_SERVICE_REQUEST_TIMEOUT;
- return r;
+ HeapFree(GetProcessHeap(), 0, ssi);
+ return result;
}
DWORD service_start(struct service_entry *service, DWORD service_argc, LPCWSTR *service_argv)
@@ -914,8 +908,7 @@ DWORD service_start(struct service_entry *service, DWORD service_argc, LPCWSTR *
err = service_start_process(service, &process);
if (err == ERROR_SUCCESS)
{
- if (!process_send_start_message(process, service->name, service_argv, service_argc))
- err = ERROR_SERVICE_REQUEST_TIMEOUT;
+ err = process_send_start_message(process, service->name, service_argv, service_argc);
if (err == ERROR_SUCCESS)
err = process_wait_for_startup(process);
More information about the wine-cvs
mailing list