From 4c2b2110c9cc64cb568c3b7a11697f3bfd5bece2 Mon Sep 17 00:00:00 2001 From: Rob Bradford Date: Fri, 6 Mar 2026 09:10:21 -0800 Subject: [PATCH] vmm: serial_manager: Reorder epoll event setup It makes most sense to create the epoll FD and add the kill event before identifying the transport specific fd. Signed-off-by: Rob Bradford --- vmm/src/serial_manager.rs | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/vmm/src/serial_manager.rs b/vmm/src/serial_manager.rs index 5a61b39e5..f66476831 100644 --- a/vmm/src/serial_manager.rs +++ b/vmm/src/serial_manager.rs @@ -128,6 +128,17 @@ impl SerialManager { mut transport: ConsoleTransport, socket: Option, ) -> Result> { + let epoll_fd = epoll::create(true).map_err(Error::Epoll)?; + let kill_evt = EventFd::new(EFD_NONBLOCK).map_err(Error::EventFd)?; + + epoll::ctl( + epoll_fd, + epoll::ControlOptions::EPOLL_CTL_ADD, + kill_evt.as_raw_fd(), + epoll::Event::new(epoll::Events::EPOLLIN, EpollDispatch::Kill as u64), + ) + .map_err(Error::Epoll)?; + let mut socket_path: Option = None; let in_fd = match transport { @@ -170,17 +181,6 @@ impl SerialManager { _ => return Ok(None), }; - let epoll_fd = epoll::create(true).map_err(Error::Epoll)?; - let kill_evt = EventFd::new(EFD_NONBLOCK).map_err(Error::EventFd)?; - - epoll::ctl( - epoll_fd, - epoll::ControlOptions::EPOLL_CTL_ADD, - kill_evt.as_raw_fd(), - epoll::Event::new(epoll::Events::EPOLLIN, EpollDispatch::Kill as u64), - ) - .map_err(Error::Epoll)?; - let epoll_fd_data = if let ConsoleTransport::Socket(_) = transport { EpollDispatch::Socket } else {