Lines Matching defs:pReq

84         PRTREQ pReq = (PRTREQ)ASMAtomicXchgPtr((void **)&pQueue->apReqFree[i], NULL);
85 while (pReq)
87 PRTREQ pNext = pReq->pNext;
88 rtReqFreeIt(pReq);
89 pReq = pNext;
138 PRTREQ pReq = pReqs;
139 if (pReq->pNext)
140 Log2(("RTReqQueueProcess: 2+ requests: %p %p %p\n", pReq, pReq->pNext, pReq->pNext->pNext));
142 while (pReq)
144 Assert(pReq->enmState == RTREQSTATE_QUEUED);
145 Assert(pReq->uOwner.hQueue == pQueue);
146 PRTREQ pCur = pReq;
147 pReq = pReq->pNext;
159 pReq = pReqs;
161 pReq->pNext = NULL;
164 rc = rtReqProcessOne(pReq);
229 PRTREQ pReq = NULL;
230 AssertMsgReturn(cArgs * sizeof(uintptr_t) <= sizeof(pReq->u.Internal.aArgs), ("cArgs=%u\n", cArgs), VERR_TOO_MUCH_DATA);
235 int rc = RTReqQueueAlloc(pQueue, RTREQTYPE_INTERNAL, &pReq);
242 pReq->fFlags = fFlags;
243 pReq->u.Internal.pfn = pfnFunction;
244 pReq->u.Internal.cArgs = cArgs;
246 pReq->u.Internal.aArgs[iArg] = va_arg(Args, uintptr_t);
251 rc = RTReqSubmit(pReq, cMillies);
255 RTReqRelease(pReq);
256 pReq = NULL;
260 *ppReq = pReq;
261 LogFlow(("RTReqQueueCallV: returns %Rrc *ppReq=%p\n", rc, pReq));
360 PRTREQ pReq = ASMAtomicXchgPtrT(ppHead, NULL, PRTREQ);
361 if (pReq)
363 PRTREQ pNext = pReq->pNext;
366 vmr3ReqJoinFree(pQueue, pReq->pNext);
369 Assert(pReq->uOwner.hQueue == pQueue);
370 Assert(!pReq->fPoolOrQueue);
372 int rc = rtReqReInit(pReq, enmType);
375 *phReq = pReq;
376 LogFlow(("RTReqQueueAlloc: returns VINF_SUCCESS *phReq=%p recycled\n", pReq));
397 * @param pReq The request.
399 DECLHIDDEN(bool) rtReqQueueRecycle(PRTREQQUEUEINT pQueue, PRTREQINT pReq)
411 ASMAtomicWritePtr(&pReq->pNext, pNext);
412 } while (!ASMAtomicCmpXchgPtr(ppHead, pReq, pNext));
422 * @param pReq The request.
424 DECLHIDDEN(void) rtReqQueueSubmit(PRTREQQUEUEINT pQueue, PRTREQINT pReq)
430 pReq->pNext = pNext;
432 } while (!ASMAtomicCmpXchgPtr(&pQueue->pReqs, pReq, pNext));