MCPcopy Create free account
hub / github.com/catboost/catboost / FreeThreadCache

Function FreeThreadCache

library/cpp/lfalloc/lf_allocX64.h:1247–1270  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1245static PERTHREAD bool IsStoppingThread;
1246
1247static void FreeThreadCache(void*) {
1248 TThreadAllocInfo* pToDelete = nullptr;
1249 {
1250 TLFLockHolder ll(&LFLockThreadInfo);
1251 pToDelete = pThreadInfo;
1252 if (pToDelete == nullptr)
1253 return;
1254
1255 // remove from the list
1256 for (TThreadAllocInfo** p = &pThreadInfoList; *p; p = &(*p)->pNextInfo) {
1257 if (*p == pToDelete) {
1258 *p = pToDelete->pNextInfo;
1259 break;
1260 }
1261 }
1262 IsStoppingThread = true;
1263 pThreadInfo = nullptr;
1264 }
1265
1266 // free per thread buf
1267 MoveSingleThreadFreeToGlobal(pToDelete);
1268 pToDelete->Done();
1269 SystemFree(pToDelete);
1270}
1271#endif
1272
1273static void AllocThreadInfo() {

Callers

nothing calls this directly

Calls 3

SystemFreeFunction · 0.85
DoneMethod · 0.80

Tested by

no test coverage detected