VirtualBox

儲存庫 vbox 的更動 108318


忽略:
時間撮記:
2025-2-20 下午05:50:24 (3 週 以前)
作者:
vboxsync
svn:sync-xref-src-repo-rev:
167662
訊息:

Main/MachineImplMoveVM: After a successful invocation of
IMachine::moveTo() VBoxSVC would trigger the following assert in
Machine::uninit(): 'Assert(!uRegistryNeedsSaving);'. This was due to a
mistake in MachineMoveVM::i_MoveVMThreadTask() which incorrectly marked
the Machine's registry as modified (i_markRegistryModified()) but then
called VirtualBox::i_saveSettings() which clears the VirtualBox
registry's (i_unmarkRegistryModified(i_getGlobalRegistryId())) modified
state. This left the Machine registry in a modified state as indicated
by uRegistryNeedsSaving=1. Since nothing cleared the Machine registry's
modified state Machine::uninit() correctly asserted to point out the
oversight. Fixed by marking the global VirtualBox registry as modified
instead of the Machine's registry.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/src-server/MachineImplMoveVM.cpp

    r108317 r108318  
    931931
    932932        /* Marks the global registry for uuid as modified */
    933         Guid uuid = machine->mData->mUuid;
     933        Guid uuid = machine->mParent->i_getGlobalRegistryId();
    934934        machine->mParent->i_markRegistryModified(uuid);
    935935
     
    10621062                AutoWriteLock  srcLock(machine COMMA_LOCKVAL_SRC_POS);
    10631063                srcLock.release();
    1064                 Guid uuid = machine->mData->mUuid;
     1064                Guid uuid = machine->mParent->i_getGlobalRegistryId();
    10651065                machine->mParent->i_markRegistryModified(uuid);
    10661066                srcLock.acquire();
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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