MCPcopy Create free account
hub / github.com/cloud-hypervisor/cloud-hypervisor / run

Method run

virtio-devices/src/vhost_user/mod.rs:284–303  ·  view source on GitHub ↗
(
        &mut self,
        paused: &AtomicBool,
        paused_sync: &Barrier,
    )

Source from the content-addressed store, hash-verified

282
283impl<S: VhostUserFrontendReqHandler> VhostUserEpollHandler<S> {
284 pub fn run(
285 &mut self,
286 paused: &AtomicBool,
287 paused_sync: &Barrier,
288 ) -> std::result::Result<(), EpollHelperError> {
289 let mut helper = EpollHelper::new(&self.kill_evt, &self.pause_evt)?;
290 helper.add_event_custom(
291 self.vu.lock().unwrap().socket_handle().as_raw_fd(),
292 HUP_CONNECTION_EVENT,
293 epoll::Events::EPOLLHUP,
294 )?;
295
296 if let Some(backend_req_handler) = &self.backend_req_handler {
297 helper.add_event(backend_req_handler.as_raw_fd(), BACKEND_REQ_EVENT)?;
298 }
299
300 helper.run(paused, paused_sync, self)?;
301
302 Ok(())
303 }
304
305 fn reconnect(&mut self, helper: &mut EpollHelper) -> std::result::Result<(), EpollHelperError> {
306 let result = self.reconnect_inner(helper);

Callers 4

activateMethod · 0.45
activateMethod · 0.45
activateMethod · 0.45
activateMethod · 0.45

Calls 5

newFunction · 0.85
socket_handleMethod · 0.80
add_event_customMethod · 0.45
as_raw_fdMethod · 0.45
add_eventMethod · 0.45

Tested by

no test coverage detected