First public contribution.
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of the License "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // e32\euser\epoc\arm\uc_data.cpp
20 #ifdef __USERSIDE_THREAD_DATA__
22 TAny* TLocalThreadData::DllTls(TInt aHandle, TInt aDllUid)
28 TInt r=iTls.FindInSignedKeyOrder(tls);
29 if (r>=0 && iTls[r].iDllUid==aDllUid)
34 TInt TLocalThreadData::DllSetTls(TInt aHandle, TInt aDllUid, TAny* aPtr)
38 new (&iTls) RArray<STls>(KTlsArrayGranularity, _FOFF(STls,iHandle));
44 tls.iHandle = aHandle;
45 tls.iDllUid = aDllUid;
48 TInt r=iTls.FindInSignedKeyOrder(tls,i);
53 RAllocator* currentHeap = iHeap;
55 r = iTls.Insert(tls,i);
61 void TLocalThreadData::DllFreeTls(TInt aHandle)
68 TInt r=iTls.FindInSignedKeyOrder(tls);
71 RAllocator* currentHeap = iHeap;
79 void TLocalThreadData::Close()
81 RAllocator* currentHeap = iHeap;
82 RAllocator* tlsHeap = iTlsHeap;