VirtualBox

Changeset 48711 in vbox


Ignore:
Timestamp:
Sep 26, 2013 1:45:49 PM (11 years ago)
Author:
vboxsync
Message:

NatNetwork/Main: do network reference counting on starting/stopping attached to network VMs.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-server/MachineImpl.cpp

    r48538 r48711  
    1276912769        unconst(mNetworkAdapters[slot]).createObject();
    1277012770        mNetworkAdapters[slot]->init(this, aMachine->mNetworkAdapters[slot]);
     12771
     12772        NetworkAttachmentType_T type;
     12773        HRESULT hrc;
     12774        hrc = mNetworkAdapters[slot]->COMGETTER(AttachmentType)(&type);
     12775        if (   SUCCEEDED(hrc)
     12776            && type == NetworkAttachmentType_NATNetwork)
     12777        {
     12778            Bstr name;
     12779           
     12780            hrc = mNetworkAdapters[slot]->COMGETTER(NATNetwork)(name.asOutParam());
     12781            if (SUCCEEDED(hrc))
     12782            {
     12783                aMachine->lockHandle()->unlockWrite();
     12784                mParent->natNetworkRefInc(name.raw());
     12785                aMachine->lockHandle()->lockWrite(RT_SRC_POS);
     12786            }
     12787        }
    1277112788    }
    1277212789
     
    1296812985        }
    1296912986        mData->mSession.mRemoteControls.clear();
     12987    }
     12988
     12989    for (ULONG slot = 0; slot < mNetworkAdapters.size(); slot++)
     12990    {
     12991        NetworkAttachmentType_T type;
     12992        HRESULT hrc;
     12993
     12994        hrc = mNetworkAdapters[slot]->COMGETTER(AttachmentType)(&type);
     12995        if (   SUCCEEDED(hrc)
     12996            && type == NetworkAttachmentType_NATNetwork)
     12997        {
     12998            Bstr name;
     12999            hrc = mNetworkAdapters[slot]->COMGETTER(NATNetwork)(name.asOutParam());
     13000            if (SUCCEEDED(hrc))
     13001            {
     13002                multilock.release();
     13003                mParent->natNetworkRefDec(name.raw());
     13004                multilock.acquire();
     13005            }
     13006        }
    1297013007    }
    1297113008
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