diff --git a/reactos/base/system/services/database.c b/reactos/base/system/services/database.c index 17da488ca32..c0b5f7abed8 100644 --- a/reactos/base/system/services/database.c +++ b/reactos/base/system/services/database.c @@ -661,46 +661,6 @@ ScmDeleteMarkedServices(VOID) } -VOID -WaitForLSA(VOID) -{ - HANDLE hEvent; - DWORD dwError; - - DPRINT("WaitForLSA() called\n"); - - hEvent = CreateEventW(NULL, - TRUE, - FALSE, - L"LSA_RPC_SERVER_ACTIVE"); - if (hEvent == NULL) - { - dwError = GetLastError(); - DPRINT1("Failed to create the notication event (Error %lu)\n", dwError); - - if (dwError == ERROR_ALREADY_EXISTS) - { - hEvent = OpenEventW(SYNCHRONIZE, - FALSE, - L"LSA_RPC_SERVER_ACTIVE"); - if (hEvent != NULL) - { - DPRINT1("Could not open the notification event!\n"); - return; - } - } - } - - DPRINT("Wait for LSA!\n"); - WaitForSingleObject(hEvent, INFINITE); - DPRINT("LSA is available!\n"); - - CloseHandle(hEvent); - - DPRINT("WaitForLSA() done\n"); -} - - DWORD ScmCreateServiceDatabase(VOID) { @@ -772,8 +732,8 @@ ScmCreateServiceDatabase(VOID) RegCloseKey(hServicesKey); - /* Wait for LSA */ - WaitForLSA(); + /* Wait for the LSA server */ + ScmWaitForLsa(); /* Delete services that are marked for delete */ ScmDeleteMarkedServices(); diff --git a/reactos/base/system/services/services.c b/reactos/base/system/services/services.c index d9b6f9ec68a..e69190b8ea8 100644 --- a/reactos/base/system/services/services.c +++ b/reactos/base/system/services/services.c @@ -113,8 +113,8 @@ ScmCreateStartEvent(PHANDLE StartEvent) } -static VOID -ScmWaitForLsass(VOID) +VOID +ScmWaitForLsa(VOID) { HANDLE hEvent; DWORD dwError; @@ -126,7 +126,7 @@ ScmWaitForLsass(VOID) if (hEvent == NULL) { dwError = GetLastError(); - DPRINT("Failed to create the notication event (Error %lu)\n", dwError); + DPRINT1("Failed to create the notication event (Error %lu)\n", dwError); if (dwError == ERROR_ALREADY_EXISTS) { @@ -146,6 +146,8 @@ ScmWaitForLsass(VOID) DPRINT("LSA server running!\n"); CloseHandle(hEvent); + + DPRINT("ScmWaitForLsa() done\n"); } @@ -420,7 +422,7 @@ wWinMain(HINSTANCE hInstance, SetConsoleCtrlHandler(ShutdownHandlerRoutine, TRUE); /* Wait for the LSA server */ - ScmWaitForLsass(); + ScmWaitForLsa(); /* Acquire privileges to load drivers */ AcquireLoadDriverPrivilege(); diff --git a/reactos/base/system/services/services.h b/reactos/base/system/services/services.h index b07a3fb523f..6346afc8609 100644 --- a/reactos/base/system/services/services.h +++ b/reactos/base/system/services/services.h @@ -161,6 +161,7 @@ VOID PrintString(LPCSTR fmt, ...); VOID ScmLogError(DWORD dwEventId, WORD wStrings, LPCWSTR *lpStrings); +VOID ScmWaitForLsa(VOID); /* EOF */