VirtualBox

Changeset 24708 in vbox for trunk


Ignore:
Timestamp:
Nov 16, 2009 6:18:53 PM (15 years ago)
Author:
vboxsync
Message:

AsyncCompletion: Remove the entry from the endpoint where it belongs to and not the current endpoint. Fixes weird crashes with multiple images

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/PDMAsyncCompletionFileCache.cpp

    r24622 r24708  
    312312                    {
    313313                        PPDMACFILECACHEENTRY pFree = pGhostListDst->pTail;
     314                        PPDMACFILEENDPOINTCACHE pEndpointCacheFree = &pFree->pEndpoint->DataCache;
     315
     316                        RTSemRWRequestWrite(pEndpointCacheFree->SemRWEntries, RT_INDEFINITE_WAIT);
     317
    314318                        pdmacFileCacheEntryRemoveFromList(pFree);
     319
    315320                        STAM_PROFILE_ADV_START(&pCache->StatTreeRemove, Cache);
    316                         RTAvlrFileOffsetRemove(pCurr->pEndpoint->DataCache.pTree, pFree->Core.Key);
     321                        RTAvlrFileOffsetRemove(pEndpointCacheFree->pTree, pFree->Core.Key);
    317322                        STAM_PROFILE_ADV_STOP(&pCache->StatTreeRemove, Cache);
     323
     324                        RTSemRWReleaseWrite(pEndpointCacheFree->SemRWEntries);
    318325                        RTMemFree(pFree);
    319326                    }
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