Lines Matching refs:pCtxInt
109 PRTFILEAIOCTXINTERNAL pCtxInt;
144 pReqInt->pCtxInt = NULL;
274 PRTFILEAIOCTXINTERNAL pCtxInt;
278 pCtxInt = (PRTFILEAIOCTXINTERNAL)RTMemAllocZ(sizeof(RTFILEAIOCTXINTERNAL));
279 if (RT_UNLIKELY(!pCtxInt))
282 pCtxInt->hIoCompletionPort = CreateIoCompletionPort(INVALID_HANDLE_VALUE,
286 if (RT_UNLIKELY(!pCtxInt->hIoCompletionPort))
288 RTMemFree(pCtxInt);
292 pCtxInt->fFlags = fFlags;
293 pCtxInt->u32Magic = RTFILEAIOCTX_MAGIC;
295 *phAioCtx = (RTFILEAIOCTX)pCtxInt;
305 PRTFILEAIOCTXINTERNAL pCtxInt = hAioCtx;
306 RTFILEAIOCTX_VALID_RETURN(pCtxInt);
309 if (RT_UNLIKELY(pCtxInt->cRequests))
312 CloseHandle(pCtxInt->hIoCompletionPort);
313 ASMAtomicUoWriteU32(&pCtxInt->u32Magic, RTFILEAIOCTX_MAGIC_DEAD);
314 RTMemFree(pCtxInt);
322 PRTFILEAIOCTXINTERNAL pCtxInt = hAioCtx;
323 RTFILEAIOCTX_VALID_RETURN(pCtxInt);
325 HANDLE hTemp = CreateIoCompletionPort((HANDLE)RTFileToNative(hFile), pCtxInt->hIoCompletionPort, 0, 1);
326 if (hTemp != pCtxInt->hIoCompletionPort)
343 PRTFILEAIOCTXINTERNAL pCtxInt = hAioCtx;
344 RTFILEAIOCTX_VALID_RETURN(pCtxInt);
384 ASMAtomicAddS32(&pCtxInt->cRequests, (int32_t)i);
397 PRTFILEAIOCTXINTERNAL pCtxInt = hAioCtx;
398 RTFILEAIOCTX_VALID_RETURN(pCtxInt);
406 if ( RT_UNLIKELY(ASMAtomicUoReadS32(&pCtxInt->cRequests) == 0)
407 && !(pCtxInt->fFlags & RTFILEAIOCTX_FLAGS_WAIT_WITHOUT_PENDING_REQUESTS))
420 while ( !pCtxInt->fWokenUp
433 ASMAtomicXchgBool(&pCtxInt->fWaiting, true);
434 fSucceeded = GetQueuedCompletionStatus(pCtxInt->hIoCompletionPort,
439 ASMAtomicXchgBool(&pCtxInt->fWaiting, false);
495 ASMAtomicSubS32(&pCtxInt->cRequests, cRequestsCompleted);
500 bool fWokenUp = ASMAtomicXchgBool(&pCtxInt->fWokenUp, false);
512 PRTFILEAIOCTXINTERNAL pCtxInt = hAioCtx;
513 RTFILEAIOCTX_VALID_RETURN(pCtxInt);
515 bool fWokenUp = ASMAtomicXchgBool(&pCtxInt->fWokenUp, true);
516 bool fWaiting = ASMAtomicReadBool(&pCtxInt->fWaiting);
521 BOOL fSucceeded = PostQueuedCompletionStatus(pCtxInt->hIoCompletionPort,