fn wait()

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(())
    }