VirtualBox

Changeset 98102 in vbox


Ignore:
Timestamp:
Jan 17, 2023 11:11:43 AM (23 months ago)
Author:
vboxsync
Message:

Main/Machine: Assert that mData->mSession.mLockedMedia is locked before unlocking + modifying + relocking, as this seems to be an assumption in these three cases.

Location:
trunk/src/VBox/Main
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/MediumLock.h

    r96407 r98102  
    342342    HRESULT Unlock();
    343343
     344    /** Introspection. */
     345    bool IsLocked(void) const { return mIsLocked; }
     346
    344347private:
    345348    typedef std::map<ComObjPtr<MediumAttachment>, MediumLockList *> Base;
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r98101 r98102  
    40134013                        else
    40144014                        {
     4015                            Assert(mData->mSession.mLockedMedia.IsLocked());
    40154016                            mData->mSession.mLockedMedia.Unlock();
    40164017                            alock.release();
     
    41144115                                else
    41154116                                {
     4117                                    Assert(mData->mSession.mLockedMedia.IsLocked());
    41164118                                    mData->mSession.mLockedMedia.Unlock();
    41174119                                    alock.release();
     
    43894391            else
    43904392            {
     4393                Assert(mData->mSession.mLockedMedia.IsLocked());
    43914394                mData->mSession.mLockedMedia.Unlock();
    43924395                alock.release();
     
    1206912072                    if (!fMediaNeedsLocking)
    1207012073                    {
     12074                        Assert(mData->mSession.mLockedMedia.IsLocked());
    1207112075                        rc = mData->mSession.mLockedMedia.Unlock();
    1207212076                        AssertComRC(rc);
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