VirtualBox

Changeset 38613 in vbox for trunk/src/VBox/VMM/VMMR3


Ignore:
Timestamp:
Sep 2, 2011 12:32:23 PM (13 years ago)
Author:
vboxsync
Message:

VMR3ReqProcessU: Deconfused the code a bit.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/VMM/VMMR3/VMReq.cpp

    r35346 r38613  
    10681068     *
    10691069     * We do not repeat the outer loop if we've got an informational status code
    1070      * since that code needs processing by our caller.
     1070     * since that code needs processing by our caller (usually EM).
    10711071     */
    10721072    int rc = VINF_SUCCESS;
    1073     while (rc <= VINF_SUCCESS)
     1073    for (;;)
    10741074    {
    10751075        /*
     
    11011101
    11021102        /*
    1103          * Process the request.
    1104          * Note! The status code handling here extremely important and yet very
    1105          *       fragile.
     1103         * Process the request
    11061104         */
    11071105        STAM_COUNTER_INC(&pUVM->vm.s.StatReqProcessed);
    11081106        int rc2 = vmR3ReqProcessOneU(pUVM, pReq);
    11091107        if (    rc2 >= VINF_EM_FIRST
    1110             &&  rc2 <= VINF_EM_LAST
    1111             &&  (   rc == VINF_SUCCESS
    1112                  || rc2 < rc) )
     1108            &&  rc2 <= VINF_EM_LAST)
     1109        {
    11131110            rc = rc2;
    1114         /** @todo may have to abort processing to propagate EM scheduling status codes
    1115          *        up to the caller... See the ugly hacks after VMMR3EmtRendezvousFF
    1116          *        and VMR3ReqProcessU in EM.cpp. */
     1111            break;
     1112        }
    11171113    }
    11181114
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