The information in this article applies to:
SYMPTOMSA deadlock situation in which the system is apparently frozen but the mouse still moves on the screen. CAUSE
Claiming a critical section from inside a timer (IRQ 0) interrupt
handler may cause a deadlock in the following scenario:
WORKAROUND
The workaround for this problem is to use the documented
TimerCriticalSection entry in SYSTEM.INI, which will implicitly wrap
the virtual interrupt into a critical section.
MORE INFORMATION
VM A no longer receives timer interrupts in the above scenario because
the virtual timer device (VTD) sets the V86 interrupt vector of each
virtual machine to a small code stub that filters out certain timer
interrupts. In particular, the code stub does not allow nested timer
interrupts to be reflected into the same virtual machine. Thus,
virtual machine B has a pending timer interrupt, and therefore,
virtual machine A does not receive any timer interrupts but does not
release the critical section because it waits for a timer interrupt,
while VM B does not finish processing the timer interrupt because it
is suspended on the critical section. This scenario will deadlock the
two processes.
Additional query words: 3.10
Keywords : |
Last Reviewed: November 1, 1999 © 2000 Microsoft Corporation. All rights reserved. Terms of Use. |