Changeset 41326 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- May 16, 2012 8:51:28 AM (13 years ago)
- svn:sync-xref-src-repo-rev:
- 77996
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/EM.cpp
r41248 r41326 1648 1648 * Interrupts. 1649 1649 */ 1650 bool fWakeupPending = false; 1650 1651 if ( !VM_FF_ISPENDING(pVM, VM_FF_PGM_NO_MEMORY) 1651 1652 && !VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_INHIBIT_INTERRUPTS) … … 1665 1666 #endif 1666 1667 UPDATE_RC(); 1668 /* Reschedule required: We must not miss the wakeup below! */ 1669 fWakeupPending = true; 1667 1670 } 1668 1671 #ifdef VBOX_WITH_REM … … 1697 1700 * EMT Rendezvous (must be serviced before termination). 1698 1701 */ 1699 if (VM_FF_ISPENDING(pVM, VM_FF_EMT_RENDEZVOUS)) 1702 if ( !fWakeupPending /* don't miss the wakeup from EMSTATE_HALTED! */ 1703 && VM_FF_ISPENDING(pVM, VM_FF_EMT_RENDEZVOUS)) 1700 1704 { 1701 1705 rc2 = VMMR3EmtRendezvousFF(pVM, pVCpu); … … 1716 1720 * State change request (cleared by vmR3SetStateLocked). 1717 1721 */ 1718 if (VM_FF_ISPENDING(pVM, VM_FF_CHECK_VM_STATE)) 1722 if ( !fWakeupPending /* don't miss the wakeup from EMSTATE_HALTED! */ 1723 && VM_FF_ISPENDING(pVM, VM_FF_CHECK_VM_STATE)) 1719 1724 { 1720 1725 VMSTATE enmState = VMR3GetState(pVM);
Note:
See TracChangeset
for help on using the changeset viewer.