VirtualBox

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


Ignore:
Timestamp:
Oct 21, 2009 12:44:27 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
53730
Message:

dbgfR3VMMWait: polling hack.

File:
1 edited

Legend:

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

    r23145 r23925  
    620620         * Wait.
    621621         */
     622        uint32_t cPollHack = 1; /** @todo this interface is horrible now that we're using lots of VMR3ReqCall stuff all over DBGF. */
    622623        for (;;)
    623624        {
     
    626627                &&  !VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_REQUEST))
    627628            {
    628                 int rc = RTSemPingWait(&pVM->dbgf.s.PingPong, 250);
     629                int rc = RTSemPingWait(&pVM->dbgf.s.PingPong, cPollHack);
    629630                if (RT_SUCCESS(rc))
    630631                    break;
     
    637638
    638639            if (VM_FF_ISPENDING(pVM, VM_FF_EMT_RENDEZVOUS))
     640            {
    639641                rc = VMMR3EmtRendezvousFF(pVM, pVCpu);
     642                cPollHack = 1;
     643            }
    640644            else if (   VM_FF_ISPENDING(pVM, VM_FF_REQUEST)
    641645                     || VMCPU_FF_ISPENDING(pVCpu, VMCPU_FF_REQUEST))
     
    646650                    rc = VMR3ReqProcessU(pVM->pUVM, pVCpu->idCpu);
    647651                LogFlow(("dbgfR3VMMWait: VMR3ReqProcess -> %Rrc rcRet=%Rrc\n", rc, rcRet));
     652                cPollHack = 1;
    648653            }
    649654            else
     655            {
    650656                rc = VINF_SUCCESS;
     657                if (cPollHack < 120)
     658                    cPollHack++;
     659            }
    651660
    652661            if (rc >= VINF_EM_FIRST && rc <= VINF_EM_LAST)
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