VirtualBox

Changeset 88813 in vbox for trunk/src/VBox/Runtime/include


Ignore:
Timestamp:
May 1, 2021 6:15:13 PM (4 years ago)
Author:
vboxsync
Message:

IPRT/RTReq: Added a RTReqCancel function. Changed the behavior of the RTREQFLAGS_NO_WAIT to optionally return the request handle rather than obstinately returning NIL even when the phReq parameter is not NULL. This makes the usage clearer and allows canceling NO_WAIT requests. (Needed in DrvAudio.) bugref:9890

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/include/internal/req.h

    r82968 r88813  
    4949    /** The request is begin processed. */
    5050    RTREQSTATE_PROCESSING,
     51    /** The request has been cancelled. */
     52    RTREQSTATE_CANCELLED,
    5153    /** The request is completed, the requester is begin notified. */
    5254    RTREQSTATE_COMPLETED,
    53     /** The request packet is in the free chain. (The requester */
     55    /** The request packet is in the free chain. */
    5456    RTREQSTATE_FREE
    5557} RTREQSTATE;
     58AssertCompileSize(RTREQSTATE, sizeof(uint32_t));
    5659
    5760
     
    114117            uint32_t            cArgs;
    115118            /** Array of arguments. */
    116             uintptr_t           aArgs[64];
     119            uintptr_t           aArgs[12];
    117120        } Internal;
    118121    } u;
     
    165168DECLHIDDEN(void) rtReqQueueSubmit(PRTREQQUEUEINT pQueue, PRTREQINT pReq);
    166169DECLHIDDEN(void) rtReqPoolSubmit(PRTREQPOOLINT pPool, PRTREQINT pReq);
     170DECLHIDDEN(void) rtReqPoolCancel(PRTREQPOOLINT pPool, PRTREQINT pReq);
    167171DECLHIDDEN(bool) rtReqQueueRecycle(PRTREQQUEUEINT pQueue, PRTREQINT pReq);
    168172DECLHIDDEN(bool) rtReqPoolRecycle(PRTREQPOOLINT pPool, PRTREQINT pReq);
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