/* $Id$
*
* smss.c - Session Manager
- *
+ *
* ReactOS Operating System
- *
+ *
* --------------------------------------------------------------------
*
* This software is free software; you can redistribute it and/or
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.LIB. If not, write
* to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
- * MA 02139, USA.
+ * MA 02139, USA.
*
* --------------------------------------------------------------------
*/
#include "smss.h"
-#include <rosrtl/string.h>
+#include <reactos/buildno.h>
#define NDEBUG
#include <debug.h>
+ULONG SmSsProcessId = 0;
+
/* Native image's entry point */
-VOID STDCALL
-NtProcessStartup(PPEB Peb)
+NTSTATUS __cdecl _main(int argc,
+ char *argv[],
+ char *envp[],
+ ULONG DebugFlag)
{
- NTSTATUS Status;
+ NTSTATUS Status = STATUS_SUCCESS;
+ PROCESS_BASIC_INFORMATION PBI = {0};
- Status = InitSessionManager(Children);
+ /* Lookup yourself */
+ Status = NtQueryInformationProcess (NtCurrentProcess(),
+ ProcessBasicInformation,
+ & PBI,
+ sizeof PBI,
+ NULL);
+ if(NT_SUCCESS(Status))
+ {
+ SmSsProcessId = (ULONG) PBI.UniqueProcessId;
+ }
+ /* Initialize the system */
+ Status = InitSessionManager();
+ /* Watch required subsystems TODO */
+#if 0
if (!NT_SUCCESS(Status))
{
int i;
NULL); /* NULL for infinite */
if (!NT_SUCCESS(Status))
{
- DPRINT1("SM: NtWaitForMultipleObjects failed!\n");
+ DPRINT1("SM: NtWaitForMultipleObjects failed! (Status=0x%08lx)\n", Status);
}
else
{
0,0,0,0,0);
// NtTerminateProcess(NtCurrentProcess(), 0);
+#endif
+ return NtTerminateThread(NtCurrentThread(), Status);
}
/* EOF */