VirtualBox

Changeset 5220 in vbox for trunk/src/VBox/VMM


Ignore:
Timestamp:
Oct 10, 2007 2:21:27 PM (17 years ago)
Author:
vboxsync
Message:

Backed out [25153] as the multiple event APIs are missing on linux and windows.

Location:
trunk/src/VBox/VMM/VMMR0
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR0/GVMMR0.cpp

    r5219 r5220  
    476476    pGVM->gvmm.s.VMPagesMemObj = NIL_RTR0MEMOBJ;
    477477    pGVM->gvmm.s.VMPagesMapObj = NIL_RTR0MEMOBJ;
    478     pGVM->gvmm.s.HaltEventMulti = NIL_RTSEMEVENTMULTI;
     478    pGVM->gvmm.s.HaltEvent = NIL_RTSEMEVENT;
    479479}
    480480
     
    559559    if (RT_SUCCESS(rc))
    560560    {
    561         if (pGVM->gvmm.s.HaltEventMulti == NIL_RTSEMEVENTMULTI)
    562         {
    563             rc = RTSemEventMultiCreate(&pGVM->gvmm.s.HaltEventMulti);
     561        if (pGVM->gvmm.s.HaltEvent == NIL_RTSEMEVENT)
     562        {
     563            rc = RTSemEventCreate(&pGVM->gvmm.s.HaltEvent);
    564564            if (RT_FAILURE(rc))
    565                 pGVM->gvmm.s.HaltEventMulti = NIL_RTSEMEVENTMULTI;
     565                pGVM->gvmm.s.HaltEvent = NIL_RTSEMEVENT;
    566566        }
    567567        else
     
    11291129                {
    11301130                    ASMAtomicXchgU64(&pCurGVM->gvmm.s.u64HaltExpire, 0);
    1131                     int rc = RTSemEventMultiSignal(pCurGVM->gvmm.s.HaltEventMulti);
     1131                    int rc = RTSemEventSignal(pCurGVM->gvmm.s.HaltEvent);
    11321132                    AssertRC(rc);
    11331133                    cWoken++;
     
    11581158            {
    11591159                ASMAtomicXchgU64(&pCurGVM->gvmm.s.u64HaltExpire, 0);
    1160                 int rc = RTSemEventMultiSignal(pCurGVM->gvmm.s.HaltEventMulti);
     1160                int rc = RTSemEventSignal(pCurGVM->gvmm.s.HaltEvent);
    11611161                AssertRC(rc);
    11621162                cWoken++;
     
    11771177            {
    11781178                ASMAtomicXchgU64(&pCurGVM->gvmm.s.u64HaltExpire, 0);
    1179                 int rc = RTSemEventMultiSignal(pCurGVM->gvmm.s.HaltEventMulti);
     1179                int rc = RTSemEventSignal(pCurGVM->gvmm.s.HaltEvent);
    11801180                AssertRC(rc);
    11811181                cWoken++;
     
    12391239
    12401240        uint32_t cMillies = (u64ExpireGipTime - u64Now) / 1000000;
    1241         rc = RTSemEventMultiWaitNoResume(pGVM->gvmm.s.HaltEventMulti, cMillies ? cMillies : 1);
     1241        rc = RTSemEventWaitNoResume(pGVM->gvmm.s.HaltEvent, cMillies ? cMillies : 1);
    12421242        ASMAtomicXchgU64(&pGVM->gvmm.s.u64HaltExpire, 0);
    12431243        if (rc == VERR_TIMEOUT)
     
    12521252        RTSemFastMutexRelease(pGVMM->UsedLock);
    12531253    }
    1254 
    1255     /* Make sure false wake up calls (gvmmR0SchedDoWakeUps) cause us to spin. */
    1256     RTSemEventMultiReset(pGVM->gvmm.s.HaltEventMulti);
    12571254
    12581255    return rc;
     
    12991296        }
    13001297
    1301         int rc2 = RTSemEventMultiSignal(pGVM->gvmm.s.HaltEventMulti);
     1298        int rc2 = RTSemEventSignal(pGVM->gvmm.s.HaltEvent);
    13021299        AssertRC(rc2);
    13031300
  • trunk/src/VBox/VMM/VMMR0/GVMMR0Internal.h

    r5219 r5220  
    4040    uint64_t volatile   u64HaltExpire;
    4141    /** The event semaphore the EMT thread is blocking on. */
    42     RTSEMEVENTMULTI     HaltEventMulti;
     42    RTSEMEVENT          HaltEvent;
    4343    /** The APIC ID of the CPU that EMT was scheduled on the last time we checked. */
    4444    uint8_t             iCpuEmt;
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