MCPcopy Create free account
hub / github.com/beefytech/Beef / FlsFreeFunc

Function FlsFreeFunc

BeefySysLib/util/BeefPerf.cpp:638–657  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

636//////////////////////////////////////////////////////////////////////////
637
638static void NTAPI FlsFreeFunc(void* ptr)
639{
640 BpThreadInfo* threadInfo = (BpThreadInfo*)ptr;
641
642 auto bpManager = BpManager::Get();
643 AutoCrit autoCrit(bpManager->mCritSect);
644
645 threadInfo->mHasTerminated = true;
646 threadInfo->RemoveThread();
647
648 if (!bpManager->mThreadRunning)
649 {
650 bpManager->mThreadInfos.Remove(threadInfo);
651 delete threadInfo;
652
653 // It's possible that other thread-specific destructors will occur after this call, which may use BeefPerf,
654 // and in that case we will re-add this thread info
655 BpManager::sBpThreadInfo = NULL;
656 }
657}
658
659BpManager::BpManager() : mShutdownEvent(true), mTLSDtor(&FlsFreeFunc)
660{

Callers

nothing calls this directly

Calls 3

GetFunction · 0.85
RemoveThreadMethod · 0.80
RemoveMethod · 0.45

Tested by

no test coverage detected