VirtualBox

Changeset 19793 in vbox


Ignore:
Timestamp:
May 18, 2009 2:30:15 PM (15 years ago)
Author:
vboxsync
Message:

Deal with critical section nesting when trying to clean up after a guru meditation.

Location:
trunk/src/VBox/VMM
Files:
5 edited

Legend:

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

    r19749 r19793  
    36123612VMMR3DECL(void) EMR3ReleaseOwnedLocks(PVM pVM)
    36133613{
    3614     if (PDMCritSectIsOwner(&pVM->em.s.CritSectREM))
     3614    while (PDMCritSectIsOwner(&pVM->em.s.CritSectREM))
    36153615        PDMCritSectLeave(&pVM->em.s.CritSectREM);
    36163616}
  • trunk/src/VBox/VMM/IOM.cpp

    r19735 r19793  
    16521652VMMR3DECL(void) IOMR3ReleaseOwnedLocks(PVM pVM)
    16531653{
    1654     if (PDMCritSectIsOwner(&pVM->iom.s.EmtLock))
     1654    while (PDMCritSectIsOwner(&pVM->iom.s.EmtLock))
    16551655        PDMCritSectLeave(&pVM->iom.s.EmtLock);
    16561656}
  • trunk/src/VBox/VMM/MMHyper.cpp

    r19682 r19793  
    10991099    PMMHYPERHEAP pHeap = pVM->mm.s.CTX_SUFF(pHyperHeap);
    11001100
    1101     if (PDMCritSectIsOwner(&pHeap->Lock))
     1101    while (pHeap && PDMCritSectIsOwner(&pHeap->Lock))
    11021102        PDMCritSectLeave(&pHeap->Lock);
    11031103}
  • trunk/src/VBox/VMM/PDM.cpp

    r19735 r19793  
    14491449VMMR3DECL(void) PDMR3ReleaseOwnedLocks(PVM pVM)
    14501450{
    1451     if (PDMCritSectIsOwner(&pVM->pdm.s.CritSect))
     1451    while (PDMCritSectIsOwner(&pVM->pdm.s.CritSect))
    14521452        PDMCritSectLeave(&pVM->pdm.s.CritSect);
    14531453}
  • trunk/src/VBox/VMM/PGM.cpp

    r19780 r19793  
    40634063VMMR3DECL(void) PGMR3ReleaseOwnedLocks(PVM pVM)
    40644064{
    4065     if (PDMCritSectIsOwner(&pVM->pgm.s.CritSect))
     4065    while (PDMCritSectIsOwner(&pVM->pgm.s.CritSect))
    40664066        PDMCritSectLeave(&pVM->pgm.s.CritSect);
    40674067}
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