[3/7] services: Initialize service ref_count directly in service_create.
Sebastian Lackner
sebastian at fds-team.de
Tue Mar 15 22:30:56 CDT 2016
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
programs/services/rpc.c | 1 -
programs/services/services.c | 2 ++
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index 933f18d..cdac948 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -507,7 +507,6 @@ static DWORD create_serviceW(
return err;
}
- entry->ref_count = 1;
entry->is_wow64 = is_wow64;
entry->config.dwServiceType = entry->status.dwServiceType = dwServiceType;
entry->config.dwStartType = dwStartType;
diff --git a/programs/services/services.c b/programs/services/services.c
index 9f7e889..03df852 100644
--- a/programs/services/services.c
+++ b/programs/services/services.c
@@ -107,6 +107,7 @@ DWORD service_create(LPCWSTR name, struct service_entry **entry)
HeapFree(GetProcessHeap(), 0, *entry);
return err;
}
+ (*entry)->ref_count = 1;
(*entry)->status.dwCurrentState = SERVICE_STOPPED;
(*entry)->status.dwWin32ExitCode = ERROR_SERVICE_NEVER_STARTED;
(*entry)->preshutdown_timeout = default_preshutdown_timeout;
@@ -557,6 +558,7 @@ static DWORD scmdatabase_load_services(struct scmdatabase *db)
entry->db = db;
list_add_tail(&db->services, &entry->entry);
+ release_service(entry);
}
return ERROR_SUCCESS;
}
--
2.7.1
More information about the wine-patches
mailing list