VirtualBox

Changeset 51534 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jun 4, 2014 3:46:56 PM (11 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
94173
Message:

main/crOpenGL: fix racing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/src-client/DisplayImpl.cpp

    r51525 r51534  
    48154815int Display::crCtlSubmitSyncIfHasDataForScreen(uint32_t u32ScreenID, struct VBOXCRCMDCTL* pCmd, uint32_t cbCmd)
    48164816{
    4817     if (mCrOglCallbacks.pfnHasDataForScreen(u32ScreenID))
    4818         return crCtlSubmitSync(pCmd, cbCmd);
    4819 
    4820     return crCtlSubmitAsyncCmdCopy(pCmd, cbCmd);
     4817    int rc = RTCritSectRwEnterShared(&mCrOglLock);
     4818    AssertRCReturn(rc, rc);
     4819
     4820    if (mCrOglCallbacks.pfnHasDataForScreen && mCrOglCallbacks.pfnHasDataForScreen(u32ScreenID))
     4821        rc = crCtlSubmitSync(pCmd, cbCmd);
     4822    else
     4823        rc = crCtlSubmitAsyncCmdCopy(pCmd, cbCmd);
     4824
     4825    RTCritSectRwLeaveShared(&mCrOglLock);
     4826
     4827    return rc;
    48214828}
    48224829
Note: See TracChangeset for help on using the changeset viewer.

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