diff --git a/src/bin/vhost_user_fs.rs b/src/bin/vhost_user_fs.rs index 3449ca19c..63b7db888 100644 --- a/src/bin/vhost_user_fs.rs +++ b/src/bin/vhost_user_fs.rs @@ -13,7 +13,6 @@ use clap::{App, Arg}; use epoll; use libc::EFD_NONBLOCK; use log::*; -use std::os::unix::io::AsRawFd; use std::sync::{Arc, RwLock}; use std::{convert, error, fmt, io, process}; @@ -165,16 +164,15 @@ impl VhostUserBackend for VhostUserFsBack let mut vring = vrings[1].write().unwrap(); self.process_queue(&mut vring)?; } - KILL_EVENT => { - debug!("KILL_EVENT"); - self.kill_evt.read().unwrap(); - return Ok(true); - } _ => return Err(Error::HandleEventUnknownEvent.into()), } Ok(false) } + + fn exit_event(&self) -> Option<(EventFd, Option)> { + Some((self.kill_evt.try_clone().unwrap(), Some(KILL_EVENT))) + } } fn main() { @@ -223,17 +221,6 @@ fn main() { ) .unwrap(); - let vring_worker = daemon.get_vring_worker(); - - if let Err(e) = vring_worker.register_listener( - fs_backend.read().unwrap().kill_evt.as_raw_fd(), - epoll::Events::EPOLLIN, - u64::from(KILL_EVENT), - ) { - error!("Failed to register listener for kill event: {:?}", e); - process::exit(1); - } - if let Err(e) = daemon.start() { error!("Failed to start daemon: {:?}", e); process::exit(1);