Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}