Fully halt background scanner threads when dropping Worktree

* Rework fsevent API to expose a handle for halting the event stream

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
This commit is contained in:
Max Brunsfeld
2021-04-20 15:55:29 -07:00
co-authored by Nathan Sobo
parent 9fd8acdce7
commit b20f5e9139
6 changed files with 158 additions and 68 deletions
+2 -2
View File
@@ -5,12 +5,12 @@ fn main() {
let paths = args().skip(1).collect::<Vec<_>>();
let paths = paths.iter().map(Path::new).collect::<Vec<_>>();
assert!(paths.len() > 0, "Must pass 1 or more paths as arguments");
let stream = EventStream::new(&paths, Duration::from_millis(100), |events| {
let (stream, _handle) = EventStream::new(&paths, Duration::from_millis(100));
stream.run(|events| {
eprintln!("event batch");
for event in events {
eprintln!(" {:?}", event);
}
true
});
stream.run();
}