| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -130,10 +130,11 @@ void log_init_data(LoggerState *s) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					static void log_sentinel(LoggerState *s, cereal::Sentinel::SentinelType type) { | 
					 | 
					 | 
					 | 
					static void log_sentinel(LoggerState *s, cereal::Sentinel::SentinelType type, int signal=0) { | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  MessageBuilder msg; | 
					 | 
					 | 
					 | 
					  MessageBuilder msg; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  auto sen = msg.initEvent().initSentinel(); | 
					 | 
					 | 
					 | 
					  auto sen = msg.initEvent().initSentinel(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  sen.setType(type); | 
					 | 
					 | 
					 | 
					  sen.setType(type); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  sen.setSignal(signal); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  auto bytes = msg.toBytes(); | 
					 | 
					 | 
					 | 
					  auto bytes = msg.toBytes(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  logger_log(s, bytes.begin(), bytes.size(), true); | 
					 | 
					 | 
					 | 
					  logger_log(s, bytes.begin(), bytes.size(), true); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -244,8 +245,9 @@ void logger_log(LoggerState *s, uint8_t* data, size_t data_size, bool in_qlog) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  pthread_mutex_unlock(&s->lock); | 
					 | 
					 | 
					 | 
					  pthread_mutex_unlock(&s->lock); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					} | 
					 | 
					 | 
					 | 
					} | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void logger_close(LoggerState *s) { | 
					 | 
					 | 
					 | 
					void logger_close(LoggerState *s, ExitHandler *exit_handler) { | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  log_sentinel(s, cereal::Sentinel::SentinelType::END_OF_ROUTE); | 
					 | 
					 | 
					 | 
					  int signal = exit_handler == nullptr ? 0 : exit_handler->signal.load(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  log_sentinel(s, cereal::Sentinel::SentinelType::END_OF_ROUTE, signal); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  pthread_mutex_lock(&s->lock); | 
					 | 
					 | 
					 | 
					  pthread_mutex_lock(&s->lock); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if (s->cur_handle) { | 
					 | 
					 | 
					 | 
					  if (s->cur_handle) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |