From 89be42a17745a4b64472b287b47227a63c63df69 Mon Sep 17 00:00:00 2001 From: Zixuan Tan Date: Tue, 14 Nov 2023 18:05:17 +0800 Subject: [PATCH] runtime-rs: open stdout and stderr fifos NONBLOCK This patch adds O_NONBLOCK flag when open stdout and stderr FIFOs to avoid blocking. Fixes: #6714 Signed-off-by: Zixuan Tan --- .../virt_container/src/container_manager/io/passfd_io.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/runtime-rs/crates/runtimes/virt_container/src/container_manager/io/passfd_io.rs b/src/runtime-rs/crates/runtimes/virt_container/src/container_manager/io/passfd_io.rs index 2224f85f6a..29d2fe5923 100644 --- a/src/runtime-rs/crates/runtimes/virt_container/src/container_manager/io/passfd_io.rs +++ b/src/runtime-rs/crates/runtimes/virt_container/src/container_manager/io/passfd_io.rs @@ -98,6 +98,7 @@ impl PassfdIo { if let Some(stdout) = &self.stdout { let fout = OpenOptions::new() .write(true) + .custom_flags(libc::O_NONBLOCK) .open(&stdout) .context("open stdout")?; @@ -113,6 +114,7 @@ impl PassfdIo { if let Some(stderr) = &self.stderr { let ferr = OpenOptions::new() .write(true) + .custom_flags(libc::O_NONBLOCK) .open(&stderr) .context("open stderr")?;