[ros-dev] Re: [ros-diffs] [ion] 17235: - Last patch was incomplete,
apologies. SVN @ 5AM = bad idea.
Hartmut Birr
hartmut.birr at gmx.de
Tue Aug 9 17:59:37 CEST 2005
ion at 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
More information about the Ros-dev
mailing list