diff --git a/vmm/src/api/http.rs b/vmm/src/api/http.rs index 915e5a572..ded356ea9 100644 --- a/vmm/src/api/http.rs +++ b/vmm/src/api/http.rs @@ -261,6 +261,7 @@ pub fn start_http_thread( ) -> Result>> { std::fs::remove_file(path).unwrap_or_default(); let socket_path = PathBuf::from(path); + let mut server = HttpServer::new(socket_path).map_err(Error::CreatingAPIServer)?; // Retrieve seccomp filter for API thread let api_seccomp_filter = @@ -272,7 +273,6 @@ pub fn start_http_thread( // Apply seccomp filter for API thread. SeccompFilter::apply(api_seccomp_filter).map_err(Error::ApplySeccompFilter)?; - let mut server = HttpServer::new(socket_path).unwrap(); server.start_server().unwrap(); loop { match server.requests() { diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index d3bfb9196..94205a241 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -140,6 +140,10 @@ pub enum Error { /// Error activating virtio devices #[error("Error activating virtio devices: {0:?}")] ActivateVirtioDevices(VmError), + + /// Error creating API server + #[error("Error creating API server {0:?}")] + CreatingAPIServer(micro_http::ServerError), } pub type Result = result::Result;