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
 |