Nikolay Sivov : services: Remove loop that's not really used anymore ( Coverity).
Alexandre Julliard
julliard at winehq.org
Mon Apr 21 12:36:54 CDT 2014
Module: wine
Branch: master
Commit: fdbd8ffffc9a807c0089ff625a6bb5ab6160540e
URL: http://source.winehq.org/git/wine.git/?a=commit;h=fdbd8ffffc9a807c0089ff625a6bb5ab6160540e
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Sat Apr 19 13:55:21 2014 +0400
services: Remove loop that's not really used anymore (Coverity).
---
programs/services/services.c | 41 +++++++++++++++++++----------------------
1 file changed, 19 insertions(+), 22 deletions(-)
diff --git a/programs/services/services.c b/programs/services/services.c
index f6de89d..2fe3806 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -695,32 +695,29 @@ static DWORD service_start_process(struct service_entry *service_entry, HANDLE *
static DWORD service_wait_for_startup(struct service_entry *service_entry, HANDLE process_handle)
{
- WINE_TRACE("%p\n", service_entry);
+ HANDLE handles[2] = { service_entry->status_changed_event, process_handle };
+ DWORD state, ret;
- for (;;)
- {
- DWORD dwCurrentStatus;
- HANDLE handles[2] = { service_entry->status_changed_event, process_handle };
- DWORD ret;
- ret = WaitForMultipleObjects( 2, handles, FALSE, service_pipe_timeout );
- if (ret != WAIT_OBJECT_0)
- return ERROR_SERVICE_REQUEST_TIMEOUT;
- service_lock_shared(service_entry);
- dwCurrentStatus = service_entry->status.dwCurrentState;
- service_unlock(service_entry);
- if (dwCurrentStatus == SERVICE_START_PENDING)
- {
- WINE_TRACE("Service changed its status to SERVICE_START_PENDING\n");
- return ERROR_SUCCESS;
- }
- else if (dwCurrentStatus == SERVICE_RUNNING)
- {
- WINE_TRACE("Service started successfully\n");
- return ERROR_SUCCESS;
- }
+ WINE_TRACE("%p\n", service_entry);
+ ret = WaitForMultipleObjects( 2, handles, FALSE, service_pipe_timeout );
+ if (ret != WAIT_OBJECT_0)
return ERROR_SERVICE_REQUEST_TIMEOUT;
+ service_lock_shared(service_entry);
+ state = service_entry->status.dwCurrentState;
+ service_unlock(service_entry);
+ if (state == SERVICE_START_PENDING)
+ {
+ WINE_TRACE("Service state changed to SERVICE_START_PENDING\n");
+ return ERROR_SUCCESS;
}
+ else if (state == SERVICE_RUNNING)
+ {
+ WINE_TRACE("Service started successfully\n");
+ return ERROR_SUCCESS;
+ }
+
+ return ERROR_SERVICE_REQUEST_TIMEOUT;
}
/******************************************************************************
More information about the wine-cvs
mailing list