Lines Matching refs:pTask

154 static void pdmR3AsyncCompletionPutTask(PPDMASYNCCOMPLETIONENDPOINT pEndpoint, PPDMASYNCCOMPLETIONTASK pTask);
774 * @param pTask Pointer to the finished task.
779 void pdmR3AsyncCompletionCompleteTask(PPDMASYNCCOMPLETIONTASK pTask, int rc, bool fCallCompletionHandler)
781 LogFlow(("%s: pTask=%#p fCallCompletionHandler=%RTbool\n", __FUNCTION__, pTask, fCallCompletionHandler));
785 PPDMASYNCCOMPLETIONTEMPLATE pTemplate = pTask->pEndpoint->pTemplate;
790 pTemplate->u.Dev.pfnCompleted(pTemplate->u.Dev.pDevIns, pTask->pvUser, rc);
794 pTemplate->u.Drv.pfnCompleted(pTemplate->u.Drv.pDrvIns, pTemplate->u.Drv.pvTemplateUser, pTask->pvUser, rc);
798 pTemplate->u.Usb.pfnCompleted(pTemplate->u.Usb.pUsbIns, pTask->pvUser, rc);
802 pTemplate->u.Int.pfnCompleted(pTemplate->pVM, pTask->pvUser, pTemplate->u.Int.pvUser, rc);
810 pdmR3AsyncCompletionPutTask(pTask->pEndpoint, pTask);
1339 PPDMASYNCCOMPLETIONTASK pTask = (PPDMASYNCCOMPLETIONTASK)RTMemCacheAlloc(pEndpointClass->hMemCacheTasks);
1340 if (RT_LIKELY(pTask))
1343 pTask->pvUser = pvUser;
1344 pTask->pEndpoint = pEndpoint;
1346 pTask->pPrev = NULL;
1347 pTask->pNext = NULL;
1348 pTask->tsNsStart = RTTimeNanoTS();
1352 return pTask;
1361 * @param pTask The task to cache.
1363 static void pdmR3AsyncCompletionPutTask(PPDMASYNCCOMPLETIONENDPOINT pEndpoint, PPDMASYNCCOMPLETIONTASK pTask)
1366 uint64_t cNsRun = RTTimeNanoTS() - pTask->tsNsStart;
1369 LogRel(("AsyncCompletion: Task %#p completed after %llu seconds\n", pTask, cNsRun / RT_NS_1SEC));
1374 RTMemCacheFree(pEndpointClass->hMemCacheTasks, pTask);
1580 PPDMASYNCCOMPLETIONTASK pTask;
1582 pTask = pdmR3AsyncCompletionGetTask(pEndpoint, pvUser);
1583 if (!pTask)
1586 int rc = pEndpoint->pEpClass->pEndpointOps->pfnEpRead(pTask, pEndpoint, off,
1593 *ppTask = pTask;
1596 pdmR3AsyncCompletionPutTask(pEndpoint, pTask);
1627 PPDMASYNCCOMPLETIONTASK pTask;
1629 pTask = pdmR3AsyncCompletionGetTask(pEndpoint, pvUser);
1630 if (!pTask)
1633 int rc = pEndpoint->pEpClass->pEndpointOps->pfnEpWrite(pTask, pEndpoint, off,
1640 *ppTask = pTask;
1643 pdmR3AsyncCompletionPutTask(pEndpoint, pTask);
1666 PPDMASYNCCOMPLETIONTASK pTask;
1668 pTask = pdmR3AsyncCompletionGetTask(pEndpoint, pvUser);
1669 if (!pTask)
1672 int rc = pEndpoint->pEpClass->pEndpointOps->pfnEpFlush(pTask, pEndpoint);
1674 *ppTask = pTask;
1676 pdmR3AsyncCompletionPutTask(pEndpoint, pTask);
1772 * @param pTask The Task to cancel.
1774 VMMR3DECL(int) PDMR3AsyncCompletionTaskCancel(PPDMASYNCCOMPLETIONTASK pTask)
1776 NOREF(pTask);