VirtualBox

Changeset 49100 in vbox for trunk/src/VBox/Main


Ignore:
Timestamp:
Oct 15, 2013 2:53:02 AM (11 years ago)
Author:
vboxsync
Message:

Main/NATNetwork: reorder saving settings and firing change events, release lock after settings savings.

File:
1 edited

Legend:

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

    r49073 r49100  
    660660                                            USHORT aGuestPort)
    661661{
    662     int rc = S_OK;
    663662    AutoCaller autoCaller(this);
    664663    if (FAILED(autoCaller.rc())) return autoCaller.rc();
     
    709708
    710709    alock.release();
     710
     711#ifdef NAT_XML_SERIALIZATION
     712    AutoWriteLock vboxLock(mVirtualBox COMMA_LOCKVAL_SRC_POS);
     713    HRESULT rc = mVirtualBox->saveSettings();
     714    ComAssertComRCRetRC(rc);
     715    vboxLock.release();
     716#endif
     717
    711718    mVirtualBox->onNATNetworkPortForward(mName.raw(), TRUE, aIsIpv6,
    712719                                         aPortForwardRuleName, aProto,
     
    719726                                   aHostIp, aHostPort,
    720727                                   aGuestIp, aGuestPort);
    721 
    722 #ifdef NAT_XML_SERIALIZATION
    723     AutoWriteLock vboxLock(mVirtualBox COMMA_LOCKVAL_SRC_POS);
    724     rc = mVirtualBox->saveSettings();
    725 #endif
    726     return rc;
     728    return S_OK;
    727729}
    728730
     
    749751    alock.release();
    750752
     753#ifdef NAT_XML_SERIALIZATION
     754    AutoWriteLock vboxLock(mVirtualBox COMMA_LOCKVAL_SRC_POS);
     755    HRESULT rc = mVirtualBox->saveSettings();
     756    ComAssertComRCRetRC(rc);
     757    vboxLock.release();
     758#endif
     759
    751760    mVirtualBox->onNATNetworkPortForward(mName.raw(), FALSE, aIsIpv6,
    752761                                         aPortForwardRuleName, proto,
     
    759768                                   Bstr(strHostIP).raw(), u16HostPort,
    760769                                   Bstr(strGuestIP).raw(), u16GuestPort);
    761     HRESULT rc = S_OK;
    762 #ifdef NAT_XML_SERIALIZATION
    763     AutoWriteLock vboxLock(mVirtualBox COMMA_LOCKVAL_SRC_POS);
    764     rc = mVirtualBox->saveSettings();
    765 #endif
    766 
    767     return rc;
     770    return S_OK;
    768771}
    769772
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