From 875158be3e60a92214a320e716f4efe68a19c69c Mon Sep 17 00:00:00 2001 From: Eric Kohl Date: Tue, 15 Dec 2015 21:38:36 +0000 Subject: [PATCH] [WINSRV] Do not kill system processes when a user is logging off. Fixes user logoff. #CORE-2391 #resolve svn path=/trunk/; revision=70350 --- reactos/win32ss/user/winsrv/usersrv/shutdown.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/reactos/win32ss/user/winsrv/usersrv/shutdown.c b/reactos/win32ss/user/winsrv/usersrv/shutdown.c index f95dafefd40..d13a743d4dc 100644 --- a/reactos/win32ss/user/winsrv/usersrv/shutdown.c +++ b/reactos/win32ss/user/winsrv/usersrv/shutdown.c @@ -763,6 +763,14 @@ UserClientShutdown(IN PCSR_PROCESS CsrProcess, * Check for process validity */ + /* Do not kill system processes when a user is logging off */ + if ((Flags & EWX_SHUTDOWN) == EWX_LOGOFF && + (CsrProcess->ShutdownFlags & (SHUTDOWN_OTHERCONTEXT | SHUTDOWN_SYSTEMCONTEXT))) + { + DPRINT1("Do not kill a system process in a logoff request!\n"); + return CsrShutdownNonCsrProcess; + } + /* Do not kill Winlogon or CSRSS */ if (CsrProcess->ClientId.UniqueProcess == NtCurrentProcess() || CsrProcess->ClientId.UniqueProcess == UlongToHandle(LogonProcessId))