- Prevent boolean flags from being optimized away by compiler (due to PSEH usage) by making them volatile.
See issue #3408 for more details.

svn path=/trunk/; revision=34232
This commit is contained in:
Aleksey Bragin
2008-07-01 10:48:50 +00:00
parent a1afb268dd
commit fda8db4dd3
+2 -2
View File
@@ -70,7 +70,7 @@ MiDoMappedCopy(IN PEPROCESS SourceProcess,
PFN_NUMBER MdlBuffer[(sizeof(MDL) / sizeof(PFN_NUMBER)) + MI_MAPPED_COPY_PAGES + 1];
PMDL Mdl = (PMDL)MdlBuffer;
ULONG TotalSize, CurrentSize, RemainingSize;
BOOLEAN FailedInProbe = FALSE, FailedInMapping = FALSE, FailedInMoving;
volatile BOOLEAN FailedInProbe = FALSE, FailedInMapping = FALSE, FailedInMoving;
BOOLEAN PagesLocked;
PVOID CurrentAddress = SourceAddress, CurrentTargetAddress = TargetAddress;
PVOID MdlAddress;
@@ -225,7 +225,7 @@ MiDoPoolCopy(IN PEPROCESS SourceProcess,
{
UCHAR StackBuffer[MI_POOL_COPY_BYTES];
ULONG TotalSize, CurrentSize, RemainingSize;
BOOLEAN FailedInProbe = FALSE, FailedInMoving, HavePoolAddress = FALSE;
volatile BOOLEAN FailedInProbe = FALSE, FailedInMoving, HavePoolAddress = FALSE;
PVOID CurrentAddress = SourceAddress, CurrentTargetAddress = TargetAddress;
PVOID PoolAddress;
KAPC_STATE ApcState;