VirtualBox

儲存庫 vbox 的更動 15448


忽略:
時間撮記:
2008-12-13 下午07:32:05 (16 年 以前)
作者:
vboxsync
訊息:

Main: #3314: Don't delete the saved state file if restoring the VM fails in the middle of VMR3Load() (for example due to the state file incompatibility).

位置:
trunk/src/VBox/Main
檔案:
修改 2 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r15166 r15448  
    45984598
    45994599    /* go to Stopping state if not already there. Note that we don't go from
    4600      * Saving to Stopping because vmstateChangeCallback() needs it to set the
    4601      * state to Saved on VMSTATE_TERMINATED. In terms of protecting from
    4602      * inappropriate operations while leaving the lock below, Saving should be
    4603      * fine too */
     4600     * Saving/Restoring to Stopping because vmstateChangeCallback() needs it to
     4601     * set the state to Saved on VMSTATE_TERMINATED. In terms of protecting from
     4602     * inappropriate operations while leaving the lock below, Saving or
     4603     * Restoring should be fine too */
    46044604    if (mMachineState != MachineState_Saving &&
     4605        mMachineState != MachineState_Restoring &&
    46054606        mMachineState != MachineState_Stopping)
    46064607        setMachineState (MachineState_Stopping);
  • trunk/src/VBox/Main/MachineImpl.cpp

    r15380 r15448  
    58855885
    58865886        /* stateFile (optional) */
    5887         if (mData->mMachineState == MachineState_Saved)
     5887        /// @todo The reason for MachineState_Restoring below:
     5888        /// PushGuestProperties() is always called from Console::powerDown()
     5889        /// (including the case when restoring from the saved state fails) and
     5890        /// calls SaveSettings() to save guest properties. Since the saved state
     5891        /// file is still present there (and should be kept), we must save it
     5892        /// while in Restoring state too. However, calling SaveSettings() from
     5893        /// PushGuestProperties() is wrong in the first place. A proper way is
     5894        /// to only save guest properties node and not involve the whole save
     5895        /// process.
     5896        if (mData->mMachineState == MachineState_Saved ||
     5897            mData->mMachineState == MachineState_Restoring)
    58885898        {
    58895899            Assert (!mSSData->mStateFilePath.isEmpty());
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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