From 0d6d6166633c2e8970fc66ad91a38ef4f2579978 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Wed, 19 Feb 2020 14:22:30 +0000 Subject: [PATCH] Don't report out socket broken errors This is a perfectly acceptable situation as it causes the backend to exit because the VMM has closed the connection. This addresses the rather ugly reporting of errors from the backend that appears interleaved with the output from the VMM. Signed-off-by: Rob Bradford --- src/lib.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 0e94da5..6256e06 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -174,7 +174,11 @@ impl VhostUserDaemon { /// terminate. pub fn wait(&mut self) -> Result<()> { if let Some(handle) = self.main_thread.take() { - handle.join().map_err(Error::WaitDaemon)? + match handle.join().map_err(Error::WaitDaemon)? { + Ok(()) => Ok(()), + Err(Error::HandleRequest(VhostUserError::SocketBroken(_))) => Ok(()), + Err(e) => Err(e), + } } else { Ok(()) }