Zebediah Figura : services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op.

Alexandre Julliard julliard at winehq.org
Tue Apr 28 16:32:20 CDT 2020


Module: wine
Branch: master
Commit: c0977fcbec62844db15c7b9f5a46c405609a2596
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=c0977fcbec62844db15c7b9f5a46c405609a2596

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Mon Apr 27 22:35:33 2020 -0500

services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 programs/services/rpc.c | 44 ++++++--------------------------------------
 1 file changed, 6 insertions(+), 38 deletions(-)

diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index 0f2c1440c2..d0f8502419 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -1365,55 +1365,23 @@ DWORD __cdecl svcctl_CloseServiceHandle(
     return ERROR_SUCCESS;
 }
 
-static void SC_RPC_LOCK_destroy(SC_RPC_LOCK hLock)
-{
-    struct sc_lock *lock = hLock;
-    scmdatabase_unlock_startup(lock->db);
-    HeapFree(GetProcessHeap(), 0, lock);
-}
-
 void __RPC_USER SC_RPC_LOCK_rundown(SC_RPC_LOCK hLock)
 {
-    SC_RPC_LOCK_destroy(hLock);
 }
 
-DWORD __cdecl svcctl_LockServiceDatabase(
-    SC_RPC_HANDLE hSCManager,
-    SC_RPC_LOCK *phLock)
+DWORD __cdecl svcctl_LockServiceDatabase(SC_RPC_HANDLE manager, SC_RPC_LOCK *lock)
 {
-    struct sc_manager_handle *manager;
-    struct sc_lock *lock;
-    DWORD err;
-
-    WINE_TRACE("(%p, %p)\n", hSCManager, phLock);
-
-    if ((err = validate_scm_handle(hSCManager, SC_MANAGER_LOCK, &manager)) != ERROR_SUCCESS)
-        return err;
-
-    if (!scmdatabase_lock_startup(manager->db, 0))
-        return ERROR_SERVICE_DATABASE_LOCKED;
-
-    lock = HeapAlloc(GetProcessHeap(), 0, sizeof(struct sc_lock));
-    if (!lock)
-    {
-        scmdatabase_unlock_startup(manager->db);
-        return ERROR_NOT_ENOUGH_SERVER_MEMORY;
-    }
-
-    lock->db = manager->db;
-    *phLock = lock;
+    TRACE("(%p, %p)\n", manager, lock);
 
+    *lock = (SC_RPC_LOCK)0xdeadbeef;
     return ERROR_SUCCESS;
 }
 
-DWORD __cdecl svcctl_UnlockServiceDatabase(
-    SC_RPC_LOCK *phLock)
+DWORD __cdecl svcctl_UnlockServiceDatabase(SC_RPC_LOCK *lock)
 {
-    WINE_TRACE("(&%p)\n", *phLock);
-
-    SC_RPC_LOCK_destroy(*phLock);
-    *phLock = NULL;
+    TRACE("(&%p)\n", *lock);
 
+    *lock = NULL;
     return ERROR_SUCCESS;
 }
 




More information about the wine-cvs mailing list