diff --git a/src/watcher.rs b/src/watcher.rs index 0a465d3..e3953a2 100644 --- a/src/watcher.rs +++ b/src/watcher.rs @@ -89,6 +89,7 @@ impl Watcher { RecursiveMode::NonRecursive }; + let mut watcher_paths = self.inner.paths_mut(); for p in paths { let path = PathBuf::from(&p); @@ -99,7 +100,7 @@ impl Watcher { ))); } - let result = self.inner.watch(&path, mode); + let result = watcher_paths.add(Path::new(&p), mode); if let Err(err) = result { if !ignore_perm { @@ -110,6 +111,10 @@ impl Watcher { // self.file_cache.add_root(path, mode); } + if let Err(err) = watcher_paths.commit() { + return Err(map_notify_error(err)); + } + if self.debug { println!("watcher: {:?}", self.inner); }