[2/2] services: Remove deprecated support for LockServiceDatabase.
Sebastian Lackner
sebastian at fds-team.de
Fri Mar 10 07:40:56 CST 2017
Signed-off-by: Sebastian Lackner <sebastian at fds-team.de>
---
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
More information about the wine-patches
mailing list