| 2394 | } |
| 2395 | |
| 2396 | void Profiler::ClearSerial() |
| 2397 | { |
| 2398 | bool lockHeld = true; |
| 2399 | while( !m_serialLock.try_lock() ) |
| 2400 | { |
| 2401 | if( m_shutdownManual.load( std::memory_order_relaxed ) ) |
| 2402 | { |
| 2403 | lockHeld = false; |
| 2404 | break; |
| 2405 | } |
| 2406 | } |
| 2407 | for( auto& v : m_serialQueue ) FreeAssociatedMemory( v ); |
| 2408 | m_serialQueue.clear(); |
| 2409 | if( lockHeld ) |
| 2410 | { |
| 2411 | m_serialLock.unlock(); |
| 2412 | } |
| 2413 | |
| 2414 | for( auto& v : m_serialDequeue ) FreeAssociatedMemory( v ); |
| 2415 | m_serialDequeue.clear(); |
| 2416 | } |
| 2417 | |
| 2418 | Profiler::DequeueStatus Profiler::Dequeue( moodycamel::ConsumerToken& token ) |
| 2419 | { |
nothing calls this directly
no test coverage detected