(&self, thread_index: usize)
| 433 | } |
| 434 | |
| 435 | fn exit_event(&self, thread_index: usize) -> Option<(EventConsumer, EventNotifier)> { |
| 436 | let kill_evt = &self.threads[thread_index].lock().unwrap().kill_evt; |
| 437 | // SAFETY: kill_evt is a valid eventfd |
| 438 | unsafe { |
| 439 | Some(( |
| 440 | EventConsumer::from_raw_fd(kill_evt.try_clone().unwrap().into_raw_fd()), |
| 441 | EventNotifier::from_raw_fd(kill_evt.try_clone().unwrap().into_raw_fd()), |
| 442 | )) |
| 443 | } |
| 444 | } |
| 445 | |
| 446 | fn queues_per_thread(&self) -> Vec<u64> { |
| 447 | self.queues_per_thread.clone() |