VirtualBox

Changeset 82200 in vbox


Ignore:
Timestamp:
Nov 25, 2019 8:55:43 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
135014
Message:

DevPS2: Critsect. bugref:9218

Location:
trunk/src/VBox/Devices/Input
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Input/DevPS2.h

    r82195 r82200  
    136136    TMTIMERHANDLE       hThrottleTimer;
    137137
    138     /** The device critical section protecting everything - R3 Ptr */
    139     R3PTRTYPE(PPDMCRITSECT) pCritSectR3;
    140138    /** The device instance.
    141139     * @note Only for getting our bearings in interface methods. */
     
    275273    uint32_t            uThrottleDelay;
    276274
    277     /** The device critical section protecting everything - R3 Ptr */
    278     R3PTRTYPE(PPDMCRITSECT) pCritSectR3;
    279275    /** The device instance.
    280276     * @note Only for getting our bearings in interface methods. */
  • trunk/src/VBox/Devices/Input/DevPS2K.cpp

    r82195 r82200  
    942942
    943943    /* Grab the lock to avoid races with event delivery or EMTs. */
    944     int rc = PDMCritSectEnter(pThis->pCritSectR3, VERR_SEM_BUSY);
     944    int rc = PDMDevHlpCritSectEnter(pDevIns, pDevIns->pCritSectRoR3, VERR_SEM_BUSY);
    945945    AssertReleaseRC(rc);
    946946
     
    954954        KBCUpdateInterrupts(pDevIns);
    955955
    956     PDMCritSectLeave(pThis->pCritSectR3);
     956    PDMDevHlpCritSectLeave(pDevIns, pDevIns->pCritSectRoR3);
    957957}
    958958
     
    11161116    if (fHaveEvent)
    11171117    {
    1118         rc = PDMCritSectEnter(pThis->pCritSectR3, VERR_SEM_BUSY);
    1119         AssertReleaseRC(rc);
    1120 
     1118        Assert(PDMDevHlpCritSectIsOwner(pDevIns, pDevIns->pCritSectRoR3));
    11211119        rc = ps2kR3ProcessKeyEvent(pDevIns, pThis, u32HidCode, fKeyDown);
    1122 
    1123         PDMCritSectLeave(pThis->pCritSectR3);
    11241120    }
    11251121
     
    11391135    LogRelFlowFunc(("key code %08X\n", u32UsageCode));
    11401136
    1141     rc = PDMCritSectEnter(pThis->pCritSectR3, VERR_SEM_BUSY);
     1137    rc = PDMDevHlpCritSectEnter(pDevIns, pDevIns->pCritSectRoR3, VERR_SEM_BUSY);
    11421138    AssertReleaseRC(rc);
    11431139
     
    11501146        ps2kR3ReleaseKeys(pDevIns, pThis);
    11511147
    1152     PDMCritSectLeave(pThis->pCritSectR3);
     1148    PDMDevHlpCritSectLeave(pDevIns, pDevIns->pCritSectRoR3);
    11531149
    11541150    return VINF_SUCCESS;
    11551151}
    11561152
     1153
     1154/* -=-=-=-=-=- Device management -=-=-=-=-=- */
    11571155
    11581156/**
     
    13721370
    13731371    /*
    1374      * Initialize the critical section pointer(s).
    1375      */
    1376     pThis->pCritSectR3 = pDevIns->pCritSectRoR3;
    1377 
    1378     /*
    13791372     * Create the input rate throttling timer.
    13801373     */
  • trunk/src/VBox/Devices/Input/DevPS2M.cpp

    r82195 r82200  
    683683
    684684    /* Grab the lock to avoid races with PutEvent(). */
    685     int rc = PDMCritSectEnter(pThis->pCritSectR3, VERR_SEM_BUSY);
     685    int rc = PDMDevHlpCritSectEnter(pDevIns, pDevIns->pCritSectRoR3, VERR_SEM_BUSY);
    686686    AssertReleaseRC(rc);
    687687
     
    700700        pThis->fThrottleActive = false;
    701701
    702     PDMCritSectLeave(pThis->pCritSectR3);
     702    PDMDevHlpCritSectLeave(pDevIns, pDevIns->pCritSectRoR3);
    703703}
    704704
     
    758758}
    759759
     760
    760761/* -=-=-=-=-=- Mouse: IBase  -=-=-=-=-=- */
    761762
     
    824825}
    825826
     827
    826828/* -=-=-=-=-=- Mouse: IMousePort  -=-=-=-=-=- */
    827829
     
    866868
    867869
     870/* -=-=-=-=-=- Device management -=-=-=-=-=- */
    868871
    869872/**
     
    10251028    pThis->Mouse.IPort.pfnPutEventAbs        = ps2mR3MousePort_PutEventAbs;
    10261029    pThis->Mouse.IPort.pfnPutEventMultiTouch = ps2mR3MousePort_PutEventMT;
    1027 
    1028     /*
    1029      * Initialize the critical section pointer(s).
    1030      */
    1031     pThis->pCritSectR3 = pDevIns->pCritSectRoR3;
    10321030
    10331031    /*
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