зеркало из 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();
|
|
}
|
|
}
|
|
|