Lines Matching defs:pEntry

2478         PRTLOCKVALRECSHRDOWN pEntry = rtLockValidatorUoReadSharedOwner(&papOwners[i]);
2479 if ( pEntry
2480 && pEntry->Core.u32Magic == RTLOCKVALRECSHRDOWN_MAGIC)
2482 PRTTHREADINT pCurThread = rtLockValidatorReadThreadHandle(&pEntry->hThread);
2494 Assert(!pEntry || pEntry->Core.u32Magic == RTLOCKVALRECSHRDOWN_MAGIC_DEAD);
2673 PRTLOCKVALRECSHRDOWN pEntry = rtLockValidatorUoReadSharedOwner(&papOwners[iEntry]);
2674 if (pEntry)
2678 if (pEntry->Core.u32Magic != RTLOCKVALRECSHRDOWN_MAGIC)
2680 pNextThread = rtLockValidatorReadThreadHandle(&pEntry->hThread);
2698 Assert(!pEntry || pEntry->Core.u32Magic == RTLOCKVALRECSHRDOWN_MAGIC_DEAD);
3550 PRTLOCKVALRECUNION pEntry = (PRTLOCKVALRECUNION)rtLockValidatorUoReadSharedOwner(&papOwners[iEntry]);
3551 if (pEntry && pEntry->ShrdOwner.hThread == hThread)
3556 return pEntry;
3592 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(&pRecU->Shared, hThreadSelf, NULL);
3593 if (pEntry)
3642 PRTLOCKVALRECUNION pEntry = !pRecU->Shared.fSignaller
3645 if (pEntry)
3705 PRTLOCKVALRECUNION pEntry;
3715 pEntry = (PRTLOCKVALRECUNION)&pThreadSelf->LockValidator.aShrdOwners[iEntry - 1];
3716 Assert(!pEntry->ShrdOwner.fReserved);
3717 pEntry->ShrdOwner.fStaticAlloc = true;
3722 pEntry = (PRTLOCKVALRECUNION)RTMemAlloc(sizeof(RTLOCKVALRECSHRDOWN));
3723 if (RT_UNLIKELY(!pEntry))
3725 pEntry->ShrdOwner.fStaticAlloc = false;
3728 pEntry->Core.u32Magic = RTLOCKVALRECSHRDOWN_MAGIC;
3729 pEntry->ShrdOwner.cRecursion = 1;
3730 pEntry->ShrdOwner.fReserved = true;
3731 pEntry->ShrdOwner.hThread = pThreadSelf;
3732 pEntry->ShrdOwner.pDown = NULL;
3733 pEntry->ShrdOwner.pSharedRec = pRec;
3735 pEntry->ShrdOwner.pvReserved = NULL;
3738 pEntry->ShrdOwner.SrcPos = *pSrcPos;
3740 rtLockValidatorSrcPosInit(&pEntry->ShrdOwner.SrcPos);
3741 return pEntry;
3748 * @param pEntry The owner entry.
3750 DECLINLINE(void) rtLockValidatorRecSharedFreeOwner(PRTLOCKVALRECSHRDOWN pEntry)
3752 if (pEntry)
3754 Assert(pEntry->Core.u32Magic == RTLOCKVALRECSHRDOWN_MAGIC);
3755 ASMAtomicWriteU32(&pEntry->Core.u32Magic, RTLOCKVALRECSHRDOWN_MAGIC_DEAD);
3758 ASMAtomicXchgHandle(&pEntry->hThread, NIL_RTTHREAD, &pThread);
3760 Assert(pEntry->fReserved);
3761 pEntry->fReserved = false;
3763 if (pEntry->fStaticAlloc)
3768 uintptr_t iEntry = pEntry - &pThread->LockValidator.aShrdOwners[0];
3781 RTMemFree(pEntry);
3871 * @param pEntry The owner entry.
3873 DECLINLINE(bool) rtLockValidatorRecSharedAddOwner(PRTLOCKVALRECSHRD pShared, PRTLOCKVALRECSHRDOWN pEntry)
3888 if (ASMAtomicCmpXchgPtr(&papOwners[iEntry], pEntry, NULL))
3907 * @param pEntry The owner entry to remove.
3910 DECLINLINE(void) rtLockValidatorRecSharedRemoveAndFreeOwner(PRTLOCKVALRECSHRD pShared, PRTLOCKVALRECSHRDOWN pEntry,
3919 || !ASMAtomicCmpXchgPtr(&pShared->papOwners[iEntry], NULL, pEntry)))
3926 if (ASMAtomicCmpXchgPtr(&papOwners[iEntry], NULL, pEntry))
3937 rtLockValidatorRecSharedFreeOwner(pEntry);
3961 PRTLOCKVALRECSHRDOWN pEntry = ASMAtomicXchgPtrT(&papEntries[iEntry], NULL, PRTLOCKVALRECSHRDOWN);
3962 if (pEntry)
3967 rtLockValidatorRecSharedFreeOwner(pEntry);
3985 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedAllocOwner(pRec, hThread, pSrcPos);
3986 if ( pEntry
3987 && !rtLockValidatorRecSharedAddOwner(pRec, &pEntry->ShrdOwner))
3988 rtLockValidatorRecSharedFreeOwner(&pEntry->ShrdOwner);
4013 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(pRec, hThread, NULL);
4014 if (pEntry)
4017 pEntry->ShrdOwner.cRecursion++;
4018 rtLockValidatorStackPushRecursion(hThread, pEntry, pSrcPos);
4025 pEntry = rtLockValidatorRecSharedAllocOwner(pRec, hThread, pSrcPos);
4026 if (pEntry)
4028 if (rtLockValidatorRecSharedAddOwner(pRec, &pEntry->ShrdOwner))
4031 rtLockValidatorStackPush(hThread, pEntry);
4034 rtLockValidatorRecSharedFreeOwner(&pEntry->ShrdOwner);
4056 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(pRec, hThread, &iEntry);
4057 AssertReturnVoid(pEntry);
4058 AssertReturnVoid(pEntry->ShrdOwner.cRecursion > 0);
4060 uint32_t c = --pEntry->ShrdOwner.cRecursion;
4064 rtLockValidatorStackPop(hThread, (PRTLOCKVALRECUNION)pEntry);
4065 rtLockValidatorRecSharedRemoveAndFreeOwner(pRec, &pEntry->ShrdOwner, iEntry);
4070 rtLockValidatorStackPopRecursion(hThread, pEntry);
4090 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(pRec, hThread, NULL);
4091 return pEntry != NULL;
4113 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(pRec, hThreadSelf, &iEntry);
4114 if (RT_UNLIKELY(!pEntry))
4129 int rc = rtLockValidatorStackCheckReleaseOrder(hThreadSelf, (PRTLOCKVALRECUNION)pEntry);
4137 Assert(pEntry->ShrdOwner.cRecursion > 0);
4138 uint32_t c = --pEntry->ShrdOwner.cRecursion;
4141 rtLockValidatorStackPop(hThreadSelf, pEntry);
4142 rtLockValidatorRecSharedRemoveAndFreeOwner(pRec, &pEntry->ShrdOwner, iEntry);
4145 rtLockValidatorStackPopRecursion(hThreadSelf, pEntry);
4168 PRTLOCKVALRECUNION pEntry = rtLockValidatorRecSharedFindOwner(pRec, hThreadSelf, &iEntry);
4169 if (RT_UNLIKELY(!pEntry))