mirror of
				https://github.com/kata-containers/kata-containers.git
				synced 2025-10-31 01:13:02 +00:00 
			
		
		
		
	runtime-rs: check peer close in log_forwarder
The log_forwarder task does not check if the peer has closed, causing a meaningless loop during the period of “kata vm exit”, when the peer closed, and “ShutdownContainer RPC received” that aborts the log forwarder. This patch fixes the problem. Fixes: #7741 Signed-off-by: Zixuan Tan <tanzixuan.me@gmail.com>
This commit is contained in:
		| @@ -64,16 +64,14 @@ impl LogForwarder { | |||||||
|                     Ok(stream) => { |                     Ok(stream) => { | ||||||
|                         let stream = BufReader::new(stream); |                         let stream = BufReader::new(stream); | ||||||
|                         let mut lines = stream.lines(); |                         let mut lines = stream.lines(); | ||||||
|                         while let Ok(line) = lines.next_line().await { |                         while let Ok(Some(l)) = lines.next_line().await { | ||||||
|                             if let Some(l) = line { |                             match parse_agent_log_level(&l) { | ||||||
|                                 match parse_agent_log_level(&l) { |                                 LOG_LEVEL_TRACE => trace!(sl!(), "{}", l), | ||||||
|                                     LOG_LEVEL_TRACE => trace!(sl!(), "{}", l), |                                 LOG_LEVEL_DEBUG => debug!(sl!(), "{}", l), | ||||||
|                                     LOG_LEVEL_DEBUG => debug!(sl!(), "{}", l), |                                 LOG_LEVEL_WARNING => warn!(sl!(), "{}", l), | ||||||
|                                     LOG_LEVEL_WARNING => warn!(sl!(), "{}", l), |                                 LOG_LEVEL_ERROR => error!(sl!(), "{}", l), | ||||||
|                                     LOG_LEVEL_ERROR => error!(sl!(), "{}", l), |                                 LOG_LEVEL_CRITICAL => crit!(sl!(), "{}", l), | ||||||
|                                     LOG_LEVEL_CRITICAL => crit!(sl!(), "{}", l), |                                 _ => info!(sl!(), "{}", l), | ||||||
|                                     _ => info!(sl!(), "{}", l), |  | ||||||
|                                 } |  | ||||||
|                             } |                             } | ||||||
|                         } |                         } | ||||||
|                     } |                     } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user