From cd6ac84cfe3b92d747563b226fd5792d815dbd18 Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Wed, 13 Aug 2008 20:12:24 +0000 Subject: [PATCH] - Apply the same Mm sync hacks in NtYieldExecution as is done in KiSwapThread svn path=/trunk/; revision=35314 --- reactos/ntoskrnl/ke/thrdschd.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/reactos/ntoskrnl/ke/thrdschd.c b/reactos/ntoskrnl/ke/thrdschd.c index f50199160f8..ad70de338f6 100644 --- a/reactos/ntoskrnl/ke/thrdschd.c +++ b/reactos/ntoskrnl/ke/thrdschd.c @@ -719,6 +719,15 @@ NtYieldExecution(VOID) /* Sanity check */ ASSERT(OldIrql <= DISPATCH_LEVEL); + /* REACTOS Mm Hack of Doom */ + MiSyncThreadProcessViews(PsGetCurrentProcess(), + ((PETHREAD)NextThread)->ThreadsProcess, + sizeof(EPROCESS)); + MiSyncThreadProcessViews(PsGetCurrentProcess(), + (PVOID)((PETHREAD)NextThread)->Tcb.StackLimit, + NextThread->LargeStack ? + KERNEL_LARGE_STACK_SIZE : KERNEL_STACK_SIZE); + /* Swap to new thread */ KiSwapContext(Thread, NextThread); Status = STATUS_SUCCESS; @@ -735,5 +744,3 @@ NtYieldExecution(VOID) KeLowerIrql(OldIrql); return Status; } - -