ion(a)svn.reactos.com wrote:
- Last patch was incomplete, apologies. SVN @ 5AM = bad
idea.
- Do not report that ROS is running on 0 active processors, that's a bad idea.
- Actually check the affinity mask set by NtSetInformationThread
- Fix the check in KeSetAffinityThread
- Give a valid affinity to the system thread (corresponding to the active cpu affinity
set).
This removes all bugchecks from the kernel32 thread winetest.
Modified: trunk/reactos/ntoskrnl/include/internal/ke.h
Modified: trunk/reactos/ntoskrnl/ke/kthread.c
Modified: trunk/reactos/ntoskrnl/ke/main.c
Modified: trunk/reactos/ntoskrnl/ps/psmgr.c
Modified: trunk/reactos/ntoskrnl/ps/query.c
------------------------------------------------------------------------
*Modified: trunk/reactos/ntoskrnl/ps/psmgr.c*
--- trunk/reactos/ntoskrnl/ps/psmgr.c 2005-08-09 08:02:05 UTC (rev 17234)
+++ trunk/reactos/ntoskrnl/ps/psmgr.c 2005-08-09 08:50:57 UTC (rev 17235)
@@ -213,7 +213,7 @@
/* System threads may run on any processor. */
RtlZeroMemory(PsInitialSystemProcess, sizeof(EPROCESS));
- PsInitialSystemProcess->Pcb.Affinity = 0xFFFFFFFF;
+ PsInitialSystemProcess->Pcb.Affinity = KeActiveProcessors;
PsInitialSystemProcess->Pcb.IopmOffset = 0xffff;
PsInitialSystemProcess->Pcb.BasePriority = PROCESS_PRIO_NORMAL;
PsInitialSystemProcess->Pcb.QuantumReset = 6;
------------------------------------------------------------------------
*
*This is change is possible incorrect. PsInitProcessManagment is called
after the boot processor is started and before the application
processors are started (on a smp machine). All system threads will only
run on the boot processor.
- Hartmut