VirtualBox

Changeset 23917 in vbox


Ignore:
Timestamp:
Oct 20, 2009 5:24:52 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53722
Message:

VM: Set it VMINT::fTeleportedAndNotFullyResumedYet in VMR3Load....

File:
1 edited

Legend:

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

    r23915 r23917  
    17951795 * @param   pfnProgress     Progress callback. Optional.
    17961796 * @param   pvUser          User argument for the progress callback.
     1797 * @param   fTeleporting    Indicates whether we're teleporting or not.
    17971798 *
    17981799 * @thread  EMT.
    17991800 */
    18001801static DECLCALLBACK(int) vmR3Load(PVM pVM, const char *pszFilename, PCSSMSTRMOPS pStreamOps, void *pvStreamOpsUser,
    1801                                   PFNVMPROGRESS pfnProgress, void *pvProgressUser)
    1802 {
    1803     LogFlow(("vmR3Load: pVM=%p pszFilename=%p:{%s} pStreamOps=%p pvStreamOpsUser=%p pfnProgress=%p pvProgressUser=%p\n",
    1804              pVM, pszFilename, pszFilename, pStreamOps, pvStreamOpsUser, pfnProgress, pvProgressUser));
     1802                                  PFNVMPROGRESS pfnProgress, void *pvProgressUser, bool fTeleporting)
     1803{
     1804    LogFlow(("vmR3Load: pVM=%p pszFilename=%p:{%s} pStreamOps=%p pvStreamOpsUser=%p pfnProgress=%p pvProgressUser=%p fTeleporting=%RTbool\n",
     1805             pVM, pszFilename, pszFilename, pStreamOps, pvStreamOpsUser, pfnProgress, pvProgressUser, fTeleporting));
    18051806
    18061807    /*
     
    18231824    if (RT_FAILURE(rc))
    18241825        return rc;
     1826    pVM->vm.s.fTeleportedAndNotFullyResumedYet = fTeleporting;
    18251827
    18261828    rc = SSMR3Load(pVM, pszFilename, pStreamOps, pvStreamOpsUser, SSMAFTER_RESUME, pfnProgress, pvProgressUser);
     
    18321834    else
    18331835    {
     1836        pVM->vm.s.fTeleportedAndNotFullyResumedYet = false;
    18341837        vmR3SetState(pVM, VMSTATE_LOAD_FAILURE, VMSTATE_LOADING);
    18351838        rc = VMSetError(pVM, rc, RT_SRC_POS,
     
    18741877     * since there is no execution taking place when this call is allowed.
    18751878     */
    1876     int rc = VMR3ReqCallWaitU(pVM->pUVM, 0 /*idDstCpu*/, (PFNRT)vmR3Load, 6,
    1877                               pVM, pszFilename, NULL /*pStreamOps*/, NULL /*pvStreamOpsUser*/, pfnProgress, pvUser);
     1879    int rc = VMR3ReqCallWaitU(pVM->pUVM, 0 /*idDstCpu*/, (PFNRT)vmR3Load, 7,
     1880                              pVM, pszFilename, NULL /*pStreamOps*/, NULL /*pvStreamOpsUser*/, pfnProgress, pvUser,
     1881                              false /*fTeleporting*/);
    18781882    LogFlow(("VMR3LoadFromFile: returns %Rrc\n", rc));
    18791883    return rc;
     
    19121916     * since there is no execution taking place when this call is allowed.
    19131917     */
    1914     int rc = VMR3ReqCallWaitU(pVM->pUVM, 0 /*idDstCpu*/, (PFNRT)vmR3Load, 6,
    1915                               pVM, NULL /*pszFilename*/, pStreamOps, pvStreamOpsUser, pfnProgress, pvProgressUser);
     1918    int rc = VMR3ReqCallWaitU(pVM->pUVM, 0 /*idDstCpu*/, (PFNRT)vmR3Load, 7,
     1919                              pVM, NULL /*pszFilename*/, pStreamOps, pvStreamOpsUser, pfnProgress, pvProgressUser,
     1920                              true /*fTeleporting*/);
    19161921    LogFlow(("VMR3LoadFromStream: returns %Rrc\n", rc));
    19171922    return rc;
     
    31853190 * Checks if the VM was teleported and hasn't been fully resumed yet.
    31863191 *
     3192 * This applies to both sides of the teleportation since we may leave a working
     3193 * clone behind and the user is allowed to resume this...
     3194 *
    31873195 * @returns true / false.
    31883196 * @param   pVM                 The VM handle.
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