ion@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