use notify with fix

This commit is contained in:
Bernardo 2019-01-15 17:45:56 +01:00 committed by Aleksey Kladov
parent 5f31d495bd
commit b0f7e72c49
5 changed files with 16 additions and 18 deletions

10
Cargo.lock generated
View File

@ -702,8 +702,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "notify"
version = "4.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
version = "4.0.6"
source = "git+https://github.com/vemoo/notify/?branch=v4-legacy#8114796fb7b133ba8898ba5d08fda20856f666d4"
dependencies = [
"bitflags 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"filetime 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1009,9 +1009,9 @@ version = "0.1.0"
dependencies = [
"crossbeam-channel 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"drop_bomb 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
"flexi_logger 0.10.4 (registry+https://github.com/rust-lang/crates.io-index)",
"flexi_logger 0.10.5 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.6 (registry+https://github.com/rust-lang/crates.io-index)",
"notify 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)",
"notify 4.0.6 (git+https://github.com/vemoo/notify/?branch=v4-legacy)",
"ra_arena 0.1.0",
"relative-path 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-hash 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1898,7 +1898,7 @@ dependencies = [
"checksum miow 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "8c1f2f3b1cf331de6896aabf6e9d55dca90356cc9960cca7eaaf408a355ae919"
"checksum net2 0.2.33 (registry+https://github.com/rust-lang/crates.io-index)" = "42550d9fb7b6684a6d404d9fa7250c2eb2646df731d1c06afc06dcee9e1bcf88"
"checksum nodrop 0.1.13 (registry+https://github.com/rust-lang/crates.io-index)" = "2f9667ddcc6cc8a43afc9b7917599d7216aa09c463919ea32c59ed6cac8bc945"
"checksum notify 4.0.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c968cf37cf949114b00d51b0b23536d1c3a4a3963767cf4c969c65a6af78dc7d"
"checksum notify 4.0.6 (git+https://github.com/vemoo/notify/?branch=v4-legacy)" = "<none>"
"checksum num-derive 0.2.4 (registry+https://github.com/rust-lang/crates.io-index)" = "d9fe8fcafd1b86a37ce8a1cfa15ae504817e0c8c2e7ad42767371461ac1d316d"
"checksum num-integer 0.1.39 (registry+https://github.com/rust-lang/crates.io-index)" = "e83d528d2677f0518c570baf2b7abdcf0cd2d248860b68507bdcb3e91d4c0cea"
"checksum num-traits 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)" = "0b3a5d7cc97d6d30d8b9bc8fa19bf45349ffe46241e8816f50f62f6d6aaabee1"

View File

@ -11,7 +11,7 @@
};
use lsp_types::NumberOrString;
use ra_ide_api::{Canceled, FileId, LibraryData};
use ra_vfs::{VfsTask, WatcherChange};
use ra_vfs::VfsTask;
use rustc_hash::FxHashSet;
use serde::{de::DeserializeOwned, Serialize};
use threadpool::ThreadPool;

View File

@ -10,7 +10,8 @@ relative-path = "0.4.0"
rustc-hash = "1.0"
crossbeam-channel = "0.3.5"
log = "0.4.6"
notify = "4"
# until https://github.com/passcod/notify/issues/169 is fixed
notify = { git = "https://github.com/vemoo/notify/", branch = "v4-legacy" }
drop_bomb = "0.1.0"
thread_worker = { path = "../thread_worker" }

View File

@ -86,14 +86,11 @@ pub fn watch(&mut self, root: impl AsRef<Path>) -> Result<(), Box<std::error::Er
pub fn shutdown(mut self) -> thread::Result<()> {
self.bomb.defuse();
drop(self.watcher);
// TODO this doesn't terminate because of a buf in `notify`
// uncomment when https://github.com/passcod/notify/pull/170 is released
// let res = self.thread.join();
// match &res {
// Ok(()) => log::info!("... Watcher terminated with ok"),
// Err(_) => log::error!("... Watcher terminated with err"),
// }
// res
Ok(())
let res = self.thread.join();
match &res {
Ok(()) => log::info!("... Watcher terminated with ok"),
Err(_) => log::error!("... Watcher terminated with err"),
}
res
}
}

View File

@ -1,6 +1,6 @@
use std::{collections::HashSet, fs};
use flexi_logger::Logger;
// use flexi_logger::Logger;
use ra_vfs::{Vfs, VfsChange};
use tempfile::tempdir;
@ -13,7 +13,7 @@ fn process_tasks(vfs: &mut Vfs, num_tasks: u32) {
#[test]
fn test_vfs_works() -> std::io::Result<()> {
Logger::with_str("debug").start().unwrap();
// Logger::with_str("debug").start().unwrap();
let files = [
("a/foo.rs", "hello"),