Hartmut,
could you please test the attached patch file? If this doesn't fix it
I'm going to revert all my changes from trunk.
Best Regards,
Thomas
Index: ps/thread.c
===================================================================
--- ps/thread.c (revision 14042)
+++ ps/thread.c (working copy)
@@ -731,10 +731,8 @@
* FUNCTION: Initialize thread managment
*/
{
- PETHREAD FirstThread, ReaperThread;
+ PETHREAD FirstThread;
ULONG i;
- KIRQL oldIrql;
- NTSTATUS Status;
for (i=0; i < MAXIMUM_PRIORITY; i++)
{
@@ -776,7 +774,15 @@
DPRINT("FirstThread %x\n",FirstThread);
DoneInitYet = TRUE;
+}
+VOID
+PsInitReaperThread(VOID)
+{
+ PETHREAD ReaperThread;
+ KIRQL oldIrql;
+ NTSTATUS Status;
+
/*
* Create the reaper thread
*/
Index: ps/psmgr.c
===================================================================
--- ps/psmgr.c (revision 14042)
+++ ps/psmgr.c (working copy)
@@ -30,6 +30,7 @@
PsInitProcessManagment();
PsInitThreadManagment();
PsInitIdleThread();
+ PsInitReaperThread();
PsInitialiseSuspendImplementation();
PsInitialiseW32Call();
}
Index: include/internal/ps.h
===================================================================
--- include/internal/ps.h (revision 14042)
+++ include/internal/ps.h (working copy)
@@ -532,6 +532,8 @@
PsApplicationProcessorInit(VOID);
VOID
PsPrepareForApplicationProcessorInit(ULONG Id);
+VOID
+PsInitReaperThread(VOID);
VOID STDCALL
PsIdleThreadMain(PVOID Context);