[ros-diffs] [hpoussin] 23445: Try to implement a working shutdown. Sorry, I had to disable some code to close user processes in subsystems/win32/csrss/win32csr/exitros.c

hpoussin at svn.reactos.org hpoussin at svn.reactos.org
Fri Aug 4 17:39:44 CEST 2006


Author: hpoussin
Date: Fri Aug  4 19:39:44 2006
New Revision: 23445

URL: http://svn.reactos.org/svn/reactos?rev=23445&view=rev
Log:
Try to implement a working shutdown.
Sorry, I had to disable some code to close user processes in subsystems/win32/csrss/win32csr/exitros.c

Modified:
    trunk/reactos/base/system/winlogon/sas.c
    trunk/reactos/dll/win32/shell32/dialogs.c
    trunk/reactos/subsystems/win32/csrss/win32csr/exitros.c

Modified: trunk/reactos/base/system/winlogon/sas.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/winlogon/sas.c?rev=23445&r1=23444&r2=23445&view=diff
==============================================================================
--- trunk/reactos/base/system/winlogon/sas.c (original)
+++ trunk/reactos/base/system/winlogon/sas.c Fri Aug  4 19:39:44 2006
@@ -272,6 +272,20 @@
     return 0;
   }
   RevertToSelf();
+
+  /* This is not right (see top of reactos/dll/win32/user32/misc/exit.c),
+   * but this should be enough atm */
+  switch (LSData->Flags & EWX_ACTION_MASK)
+  {
+    case EWX_SHUTDOWN:
+      NtShutdownSystem(ShutdownNoReboot);
+      break;
+    case EWX_REBOOT:
+      NtShutdownSystem(ShutdownReboot);
+      break;
+    default:
+     UNIMPLEMENTED;
+  }
 
   HeapFree(GetProcessHeap(), 0, LSData);
 

Modified: trunk/reactos/dll/win32/shell32/dialogs.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/dialogs.c?rev=23445&r1=23444&r2=23445&view=diff
==============================================================================
--- trunk/reactos/dll/win32/shell32/dialogs.c (original)
+++ trunk/reactos/dll/win32/shell32/dialogs.c Fri Aug  4 19:39:44 2006
@@ -418,7 +418,7 @@
 int WINAPI LogoffWindowsDialog(DWORD uFlags)
 {
     ERR("LogoffWindowsDialog is UNIMPLEMENTED\n");
-    ExitProcess(0);
+    ExitWindowsEx(EWX_LOGOFF, 0);
     return 0;
 }
 

Modified: trunk/reactos/subsystems/win32/csrss/win32csr/exitros.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/csrss/win32csr/exitros.c?rev=23445&r1=23444&r2=23445&view=diff
==============================================================================
--- trunk/reactos/subsystems/win32/csrss/win32csr/exitros.c (original)
+++ trunk/reactos/subsystems/win32/csrss/win32csr/exitros.c Fri Aug  4 19:39:44 2006
@@ -783,6 +783,9 @@
       return STATUS_ACCESS_DENIED;
     }
 
+  DPRINT1("FIXME: Need to close all user processes!\n");
+  return STATUS_SUCCESS;
+
   CallerThread = OpenThread(THREAD_QUERY_INFORMATION, FALSE, ThreadId);
   if (NULL == CallerThread)
     {




More information about the Ros-diffs mailing list