static bool AllocateThreadCollisionDataIfNecessary(bool &bOutDataAllocated) { bool bResult = false; bOutDataAllocated = false; do { #if dTLS_ENABLED const unsigned uDataAllocationFlags = COdeTls::GetDataAllocationFlags(); if ((uDataAllocationFlags & TLD_INTERNAL_COLLISIONDATA_ALLOCATED) == 0) { if (!AllocateThreadCollisionData()) { break; } bOutDataAllocated = true; } #endif // #if dTLS_ENABLED bResult = true; } while (false); return bResult; }
static bool AllocateThreadCollisionDataIfNecessary(EODEINITMODE imInitMode, bool &bOutDataAllocated) { bool bResult = false; bOutDataAllocated = false; do { #if dTLS_ENABLED EODETLSKIND tkTlsKind = g_atkTLSKindsByInitMode[imInitMode]; const unsigned uDataAllocationFlags = COdeTls::GetDataAllocationFlags(tkTlsKind); if ((uDataAllocationFlags & TLD_INTERNAL_COLLISIONDATA_ALLOCATED) == 0) { if (!AllocateThreadCollisionData(tkTlsKind)) { break; } bOutDataAllocated = true; } #else (void)imInitMode; // unused #endif // #if dTLS_ENABLED bResult = true; } while (false); return bResult; }