mirror of
https://github.com/uutils/coreutils
synced 2024-12-14 07:12:44 +00:00
tail: fix notify usage for new version
This commit is contained in:
parent
ade3b7540c
commit
0e96cfa14b
1 changed files with 6 additions and 8 deletions
|
@ -853,21 +853,20 @@ fn start_watcher_thread(settings: &mut Settings) -> Result<WatcherRx, Box<(dyn U
|
||||||
*/
|
*/
|
||||||
|
|
||||||
let watcher: Box<dyn Watcher>;
|
let watcher: Box<dyn Watcher>;
|
||||||
let watcher_config = notify::poll::PollWatcherConfig {
|
let watcher_config = notify::Config::default()
|
||||||
poll_interval: settings.sleep_sec,
|
.with_poll_interval(settings.sleep_sec)
|
||||||
/*
|
/*
|
||||||
NOTE: By enabling compare_contents, performance will be significantly impacted
|
NOTE: By enabling compare_contents, performance will be significantly impacted
|
||||||
as all files will need to be read and hashed at each `poll_interval`.
|
as all files will need to be read and hashed at each `poll_interval`.
|
||||||
However, this is necessary to pass: "gnu/tests/tail-2/F-vs-rename.sh"
|
However, this is necessary to pass: "gnu/tests/tail-2/F-vs-rename.sh"
|
||||||
*/
|
*/
|
||||||
compare_contents: true,
|
.with_compare_contents(true);
|
||||||
};
|
|
||||||
if settings.use_polling || RecommendedWatcher::kind() == WatcherKind::PollWatcher {
|
if settings.use_polling || RecommendedWatcher::kind() == WatcherKind::PollWatcher {
|
||||||
settings.use_polling = true; // We have to use polling because there's no supported backend
|
settings.use_polling = true; // We have to use polling because there's no supported backend
|
||||||
watcher = Box::new(notify::PollWatcher::with_config(tx, watcher_config).unwrap());
|
watcher = Box::new(notify::PollWatcher::new(tx, watcher_config).unwrap());
|
||||||
} else {
|
} else {
|
||||||
let tx_clone = tx.clone();
|
let tx_clone = tx.clone();
|
||||||
match notify::RecommendedWatcher::new(tx) {
|
match notify::RecommendedWatcher::new(tx, notify::Config::default()) {
|
||||||
Ok(w) => watcher = Box::new(w),
|
Ok(w) => watcher = Box::new(w),
|
||||||
Err(e) if e.to_string().starts_with("Too many open files") => {
|
Err(e) if e.to_string().starts_with("Too many open files") => {
|
||||||
/*
|
/*
|
||||||
|
@ -882,8 +881,7 @@ fn start_watcher_thread(settings: &mut Settings) -> Result<WatcherRx, Box<(dyn U
|
||||||
);
|
);
|
||||||
set_exit_code(1);
|
set_exit_code(1);
|
||||||
settings.use_polling = true;
|
settings.use_polling = true;
|
||||||
watcher =
|
watcher = Box::new(notify::PollWatcher::new(tx_clone, watcher_config).unwrap());
|
||||||
Box::new(notify::PollWatcher::with_config(tx_clone, watcher_config).unwrap());
|
|
||||||
}
|
}
|
||||||
Err(e) => return Err(USimpleError::new(1, e.to_string())),
|
Err(e) => return Err(USimpleError::new(1, e.to_string())),
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue