diff --git a/vhost_user_backend/src/lib.rs b/vhost_user_backend/src/lib.rs index 0e94da572..6256e066f 100644 --- a/vhost_user_backend/src/lib.rs +++ b/vhost_user_backend/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(()) }