Module: wine Branch: master Commit: cafcf6448fcd0099c08565d28ff3f6afdf4a1209 URL: http://source.winehq.org/git/wine.git/?a=commit;h=cafcf6448fcd0099c08565d28f...
Author: Sebastian Lackner sebastian@fds-team.de Date: Thu Aug 11 07:22:27 2016 +0200
services: Remove service_terminate function.
Signed-off-by: Sebastian Lackner sebastian@fds-team.de Signed-off-by: Alexandre Julliard julliard@winehq.org
---
programs/services/rpc.c | 3 ++- programs/services/services.c | 19 ++----------------- programs/services/services.h | 1 - 3 files changed, 4 insertions(+), 19 deletions(-)
diff --git a/programs/services/rpc.c b/programs/services/rpc.c index 228371c..45366fb 100644 --- a/programs/services/rpc.c +++ b/programs/services/rpc.c @@ -1137,7 +1137,8 @@ DWORD __cdecl svcctl_ControlService( if (result == ERROR_SUCCESS && service->service_entry->force_shutdown) { result = ERROR_SERVICE_CANNOT_ACCEPT_CTRL; - service_terminate(service->service_entry); + if ((process = service->service_entry->process)) + process_terminate(process); }
if (result != ERROR_SUCCESS) diff --git a/programs/services/services.c b/programs/services/services.c index feb137d..b0d008d 100644 --- a/programs/services/services.c +++ b/programs/services/services.c @@ -787,7 +787,7 @@ static DWORD service_start_process(struct service_entry *service_entry, struct p if (!r) { err = GetLastError(); - service_terminate(service_entry); + process_terminate(process); return err; }
@@ -915,7 +915,7 @@ DWORD service_start(struct service_entry *service, DWORD service_argc, LPCWSTR * if (err == ERROR_SUCCESS) ReleaseMutex(process->control_mutex); else - service_terminate(service); + process_terminate(process); }
scmdatabase_unlock_startup(service->db); @@ -925,21 +925,6 @@ DWORD service_start(struct service_entry *service, DWORD service_argc, LPCWSTR * return err; }
-void service_terminate(struct service_entry *service) -{ - struct process_entry *process; - - service_lock(service); - if ((process = service->process)) - { - TerminateProcess(process->process, 0); - release_process(process); - service->process = NULL; - } - service->status.dwCurrentState = SERVICE_STOPPED; - service_unlock(service); -} - void process_terminate(struct process_entry *process) { struct scmdatabase *db = process->db; diff --git a/programs/services/services.h b/programs/services/services.h index 778b30a..16f99f89 100644 --- a/programs/services/services.h +++ b/programs/services/services.h @@ -88,7 +88,6 @@ void release_service(struct service_entry *service); void service_lock(struct service_entry *service); void service_unlock(struct service_entry *service); DWORD service_start(struct service_entry *service, DWORD service_argc, LPCWSTR *service_argv); -void service_terminate(struct service_entry *service);
/* Process functions */