in sources/growpart/src/diskpart.rs [187:216]
fn wait(&mut self) -> Result<()> {
let mut need_create = true;
let mut need_delete = true;
let mut buf = [0; 1024];
while need_create || need_delete {
let events = self
.inotify
.read_events_blocking(&mut buf)
.context(error::ReadInotifyEvents)?;
for event in events {
if let Some(event_file) = event.name {
if self.filename != Path::new(event_file) {
continue;
}
if event.mask == EventMask::DELETE {
println!("saw {} link deleted", self.filename.display());
need_delete = false;
} else if event.mask == EventMask::CREATE {
println!("saw {} link created", self.filename.display());
need_create = false;
}
}
}
}
Ok(())
}