VirtualBox

Changeset 32199 in vbox for trunk/src/VBox/VMM/FTM.cpp


Ignore:
Timestamp:
Sep 2, 2010 1:42:03 PM (14 years ago)
Author:
vboxsync
Message:

FT: allow memory sync interruption

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/FTM.cpp

    r32193 r32199  
    676676    }
    677677    pVM->ftm.s.StatSentMem.c += Hdr.cb + sizeof(Hdr);
    678     return VINF_SUCCESS;
     678    return (pVM->ftm.s.fCheckpointingActive) ? VERR_INTERRUPTED : VINF_SUCCESS;
    679679}
    680680
     
    763763            /* sync the changed memory with the standby node. */
    764764            /* Write protect all memory. */
    765             rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)ftmR3WriteProtectMemory, 1, pVM);
    766             AssertRC(rc);
     765            if (!pVM->ftm.s.fCheckpointingActive)
     766            {
     767                rc = VMR3ReqCallWait(pVM, VMCPUID_ANY, (PFNRT)ftmR3WriteProtectMemory, 1, pVM);
     768                AssertRC(rc);
     769            }
    767770
    768771            /* Enumerate all dirty pages and send them to the standby VM. */
    769             rc = PGMR3PhysEnumDirtyFTPages(pVM, ftmR3SyncDirtyPage, NULL /* pvUser */);
    770             AssertRC(rc);
     772            if (!pVM->ftm.s.fCheckpointingActive)
     773            {
     774                rc = PGMR3PhysEnumDirtyFTPages(pVM, ftmR3SyncDirtyPage, NULL /* pvUser */);
     775                Assert(rc == VINF_SUCCESS || rc == VERR_INTERRUPTED);
     776            }
    771777
    772778            /* Send last memory header to signal the end. */
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette