diff --git a/virtio-devices/src/net.rs b/virtio-devices/src/net.rs index edf3d721f..710fc5de5 100644 --- a/virtio-devices/src/net.rs +++ b/virtio-devices/src/net.rs @@ -206,7 +206,7 @@ pub struct Net { config: VirtioNetConfig, queue_evts: Option>, interrupt_cb: Option>, - epoll_threads: Option>>>, + epoll_threads: Option>>, ctrl_queue_epoll_thread: Option>, paused: Arc, paused_sync: Arc, @@ -492,7 +492,11 @@ impl VirtioDevice for Net { let paused_sync = self.paused_sync.clone(); thread::Builder::new() .name("virtio_net".to_string()) - .spawn(move || handler.run(paused, paused_sync)) + .spawn(move || { + if let Err(e) = handler.run(paused, paused_sync) { + error!("Error running worker: {:?}", e); + } + }) .map(|thread| epoll_threads.push(thread)) .map_err(|e| { error!("failed to clone queue EventFd: {}", e);