зеркало из https://github.com/mozilla/gecko-dev.git
39 строки
811 B
C++
39 строки
811 B
C++
|
|
||
|
ThreadInfo::ThreadInfo(const char* aName, int aThreadId,
|
||
|
bool aIsMainThread, PseudoStack* aPseudoStack,
|
||
|
void* aStackTop)
|
||
|
: mName(strdup(aName))
|
||
|
, mThreadId(aThreadId)
|
||
|
, mIsMainThread(aIsMainThread)
|
||
|
, mPseudoStack(aPseudoStack)
|
||
|
, mPlatformData(Sampler::AllocPlatformData(aThreadId))
|
||
|
, mProfile(nullptr)
|
||
|
, mStackTop(aStackTop)
|
||
|
, mPendingDelete(false)
|
||
|
{
|
||
|
#ifndef SPS_STANDALONE
|
||
|
mThread = NS_GetCurrentThread();
|
||
|
#endif
|
||
|
}
|
||
|
|
||
|
ThreadInfo::~ThreadInfo() {
|
||
|
free(mName);
|
||
|
|
||
|
if (mProfile)
|
||
|
delete mProfile;
|
||
|
|
||
|
Sampler::FreePlatformData(mPlatformData);
|
||
|
}
|
||
|
|
||
|
void
|
||
|
ThreadInfo::SetPendingDelete()
|
||
|
{
|
||
|
mPendingDelete = true;
|
||
|
// We don't own the pseudostack so disconnect it.
|
||
|
mPseudoStack = nullptr;
|
||
|
if (mProfile) {
|
||
|
mProfile->SetPendingDelete();
|
||
|
}
|
||
|
}
|
||
|
|