From: Sebastian Lackner Subject: [2/2] services: Remove deprecated support for LockServiceDatabase. Message-Id: <65fc83dd-0ce8-b03b-f91a-a4517534771c@fds-team.de> Date: Fri, 10 Mar 2017 14:40:56 +0100 Signed-off-by: Sebastian Lackner --- Next step will be to get rid of the global startup lock entirely (to avoid explicit handling of locked databases everywhere). programs/services/rpc.c | 14 ++------------ programs/services/tests/service.c | 1 - 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/programs/services/rpc.c b/programs/services/rpc.c index 08b5776aebd..c67b7aca4bf 100644 --- a/programs/services/rpc.c +++ b/programs/services/rpc.c @@ -82,7 +82,7 @@ struct sc_service_handle /* service handle */ struct sc_lock { - struct scmdatabase *db; + BYTE dummy; }; static const WCHAR emptyW[] = {0}; @@ -1258,7 +1258,6 @@ DWORD __cdecl svcctl_CloseServiceHandle( static void SC_RPC_LOCK_destroy(SC_RPC_LOCK hLock) { struct sc_lock *lock = hLock; - scmdatabase_unlock_startup(lock->db); HeapFree(GetProcessHeap(), 0, lock); } @@ -1280,19 +1279,10 @@ DWORD __cdecl svcctl_LockServiceDatabase( if ((err = validate_scm_handle(hSCManager, SC_MANAGER_LOCK, &manager)) != ERROR_SUCCESS) return err; - if (!scmdatabase_lock_startup(manager->db)) - return ERROR_SERVICE_DATABASE_LOCKED; - - lock = HeapAlloc(GetProcessHeap(), 0, sizeof(struct sc_lock)); - if (!lock) - { - scmdatabase_unlock_startup(manager->db); + if (!(lock = HeapAlloc(GetProcessHeap(), 0, sizeof(*lock)))) return ERROR_NOT_ENOUGH_SERVER_MEMORY; - } - lock->db = manager->db; *phLock = lock; - return ERROR_SUCCESS; } diff --git a/programs/services/tests/service.c b/programs/services/tests/service.c index 8ca25ad890b..13f4427fd25 100644 --- a/programs/services/tests/service.c +++ b/programs/services/tests/service.c @@ -406,7 +406,6 @@ static void test_service(void) lock = LockServiceDatabase(scm_handle); ok(lock != NULL, "LockServiceDatabase failed: %u\n", GetLastError()); res = StartServiceA(service_handle, 2, argv); -todo_wine ok(res || broken(!res && GetLastError() == ERROR_SERVICE_DATABASE_LOCKED) /* < Vista */, "StartService failed: %u\n", GetLastError()); res2 = UnlockServiceDatabase(lock); -- 2.11.0