27 lines
		
	
	
		
			620 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			620 B
		
	
	
	
		
			C++
		
	
	
	
| // Copyright(c) 2015-present, Gabi Melman & spdlog contributors.
 | |
| // Distributed under the MIT License (http://opensource.org/licenses/MIT)
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #ifndef SPDLOG_HEADER_ONLY
 | |
|     #include <spdlog/details/periodic_worker.h>
 | |
| #endif
 | |
| 
 | |
| namespace spdlog {
 | |
| namespace details {
 | |
| 
 | |
| // stop the worker thread and join it
 | |
| SPDLOG_INLINE periodic_worker::~periodic_worker() {
 | |
|     if (worker_thread_.joinable()) {
 | |
|         {
 | |
|             std::lock_guard<std::mutex> lock(mutex_);
 | |
|             active_ = false;
 | |
|         }
 | |
|         cv_.notify_one();
 | |
|         worker_thread_.join();
 | |
|     }
 | |
| }
 | |
| 
 | |
| }  // namespace details
 | |
| }  // namespace spdlog
 |