Open gggin opened 9 months ago
After some survey I find:
ProfileManager::dumpBlocksToStream
function will set
m_profilerStatus.store(false, std::memory_order_release);
that isEnable be setted into false
and every endBlock
function will check this atomic variable and then give all endBlock
20ms to finish calls
so endBlock
's call chunk_allocator
's allocate
function will never call with serialize
function
last
pointer when memory need be allocateinvert
function will be called inserialize
function and also uselast->prev
andlast
pointerQuestion1: 1 and 2 will cause multithread problem? Question2: if Question 1 is true, where is code to handle this, or this is a bug?