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 <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford 2020-02-19 14:22:30 +00:00 committed by Samuel Ortiz
parent 3959bd6a01
commit 0d6d616663

View file

@ -174,7 +174,11 @@ impl<S: VhostUserBackend> VhostUserDaemon<S> {
/// 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(())
}