Author: hbelusca Date: Tue Nov 25 23:34:14 2014 New Revision: 65488
URL: http://svn.reactos.org/svn/reactos?rev=65488&view=rev Log: [LSASS][SERVICES][WINLOGON]: As CSRSS and SMSS already, those apps should be marked as critical for the system. See http://www.geoffchappell.com/studies/windows/win32/ntdll/api/rtl/peb/setproc... for more details.
Modified: trunk/reactos/base/system/lsass/lsass.c trunk/reactos/base/system/services/services.c trunk/reactos/base/system/winlogon/winlogon.c
Modified: trunk/reactos/base/system/lsass/lsass.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/lsass/lsass.c?r... ============================================================================== --- trunk/reactos/base/system/lsass/lsass.c [iso-8859-1] (original) +++ trunk/reactos/base/system/lsass/lsass.c [iso-8859-1] Tue Nov 25 23:34:14 2014 @@ -46,6 +46,9 @@ DPRINT("Local Security Authority Subsystem\n"); DPRINT(" Initializing...\n");
+ /* Make us critical */ + RtlSetProcessIsCritical(TRUE, NULL, TRUE); + /* Initialize the LSA server DLL. */ Status = LsapInitLsa(); if (!NT_SUCCESS(Status))
Modified: trunk/reactos/base/system/services/services.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/services/servic... ============================================================================== --- trunk/reactos/base/system/services/services.c [iso-8859-1] (original) +++ trunk/reactos/base/system/services/services.c [iso-8859-1] Tue Nov 25 23:34:14 2014 @@ -316,6 +316,9 @@
DPRINT("SERVICES: Service Control Manager\n");
+ /* Make us critical */ + RtlSetProcessIsCritical(TRUE, NULL, TRUE); + /* We are initializing ourselves */ ScmInitialize = TRUE;
Modified: trunk/reactos/base/system/winlogon/winlogon.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/winlogon/winlog... ============================================================================== --- trunk/reactos/base/system/winlogon/winlogon.c [iso-8859-1] (original) +++ trunk/reactos/base/system/winlogon/winlogon.c [iso-8859-1] Tue Nov 25 23:34:14 2014 @@ -318,6 +318,10 @@
hAppInstance = hInstance;
+ /* Make us critical */ + RtlSetProcessIsCritical(TRUE, NULL, FALSE); + RtlSetThreadIsCritical(TRUE, NULL, FALSE); + if (!RegisterLogonProcess(GetCurrentProcessId(), TRUE)) { ERR("WL: Could not register logon process\n");