VirtualBox

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


Ignore:
Timestamp:
Dec 7, 2011 8:28:23 PM (13 years ago)
Author:
vboxsync
Message:

Request thread pool hancking. Some RTReq refactoring as always...

File:
1 edited

Legend:

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

    r39545 r39550  
    6464    /** Set if the event semaphore is clear. */
    6565    volatile bool           fEventSemClear;
     66    /** Set if the push back semaphore should be signaled when the request
     67     *  is picked up from the queue. */
     68    volatile bool           fSignalPushBack;
    6669    /** Set if pool, clear if queue. */
    6770    volatile bool           fPoolOrQueue;
     
    7073    /** Request state. */
    7174    volatile RTREQSTATE     enmState;
     75    /** The reference count. */
     76    volatile uint32_t       cRefs;
    7277
    7378    /** Pointer to the next request in the chain. */
     
    8085        /** Pointer to the queue this packet belongs to. */
    8186        RTREQQUEUE          hQueue;
     87        /** Opaque owner access. */
     88        void               *pv;
    8289    } uOwner;
    8390
     
    138145
    139146/** Pointer to an internal queue instance. */
    140 typedef RTREQQUEUEINT *PRTREQQUEUEINT;
     147typedef struct RTREQQUEUEINT *PRTREQQUEUEINT;
     148/** Pointer to a request thread pool instance. */
     149typedef struct RTREQPOOLINT *PRTREQPOOLINT;
    141150
    142151
     152/* req.cpp */
     153DECLHIDDEN(int)  rtReqAlloc(RTREQTYPE enmType, bool fPoolOrQueue, void *pvOwner, PRTREQ *phReq);
     154DECLHIDDEN(int)  rtReqReInit(PRTREQINT pReq, RTREQTYPE enmType);
     155DECLHIDDEN(void) rtReqFreeIt(PRTREQINT pReq);
     156DECLHIDDEN(int)  rtReqProcessOne(PRTREQ pReq);
    143157
    144 DECLHIDDEN(int) rtReqProcessOne(PRTREQ pReq);
     158/* reqpool.cpp / reqqueue.cpp. */
     159DECLHIDDEN(void) rtReqQueueSubmit(PRTREQQUEUEINT pQueue, PRTREQINT pReq);
     160DECLHIDDEN(void) rtReqPoolSubmit(PRTREQPOOLINT pPool, PRTREQINT pReq);
     161DECLHIDDEN(bool) rtReqQueueRecycle(PRTREQQUEUEINT pQueue, PRTREQINT pReq);
     162DECLHIDDEN(bool) rtReqPoolRecycle(PRTREQPOOLINT pPool, PRTREQINT pReq);
    145163
    146164RT_C_DECLS_END
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