use crate::traits::VirtualMachine;
use super::DarwinVm;
impl Drop for DarwinVm {
fn drop(&mut self) {
if self.is_running() && !self.skip_stop_on_drop {
let _ = self.stop();
}
for fds in [self.console_fds.take(), self.agent_log_fds.take()]
.into_iter()
.flatten()
{
unsafe {
libc::close(fds.0);
if fds.1 != fds.0 {
libc::close(fds.1);
}
}
}
tracing::debug!("Dropped VM {}", self.id);
}
}