diff options
Diffstat (limited to 'alacritty/src/config/monitor.rs')
-rw-r--r-- | alacritty/src/config/monitor.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/alacritty/src/config/monitor.rs b/alacritty/src/config/monitor.rs index 63f7549f..305f5dfb 100644 --- a/alacritty/src/config/monitor.rs +++ b/alacritty/src/config/monitor.rs @@ -21,6 +21,13 @@ pub fn watch(mut paths: Vec<PathBuf>, event_proxy: EventLoopProxy<Event>) { return; } + // Exclude char devices like `/dev/null`, sockets, and so on, by checking that file type is a + // regular file. + paths.retain(|path| { + // Call `metadata` to resolve symbolink links. + path.metadata().map_or(false, |metadata| metadata.file_type().is_file()) + }); + // Canonicalize paths, keeping the base paths for symlinks. for i in 0..paths.len() { if let Ok(canonical_path) = paths[i].canonicalize() { |