file check bug fixed

migrate
prplV 2025-05-28 14:50:43 +03:00
parent 54d2b1aaf7
commit bd5e21fce7
1 changed files with 10 additions and 8 deletions

View File

@ -102,14 +102,16 @@
} }
match &mut self.watcher { match &mut self.watcher {
Some(notify) => { Some(notify) => {
let mut buffer = [0; 1024]; let mut buffer = [0; 128];
if let Ok(mut notif_events) = notify.read_events(&mut buffer) { if let Ok(notif_events) = notify.read_events(&mut buffer) {
// notif_events.into_iter().for_each(|mask| {dbg!(&mask.mask);}); let (need_to_recreate, was_modifired) = notif_events.fold((false, false), |(a, b), mask| {
// todo!(); (
if let (recreate_watcher, true) = ( a || mask.mask == EventMask::DELETE_SELF,
notif_events.any(|mask| mask.mask == EventMask::DELETE_SELF), b || mask.mask == EventMask::MODIFY,
notif_events.any(|mask| mask.mask == EventMask::MODIFY) )
) { });
if let (recreate_watcher, true) = (need_to_recreate, was_modifired) {
warn!("File {} ({}) was changed", self.name, &self.path); warn!("File {} ({}) was changed", self.name, &self.path);
if recreate_watcher { if recreate_watcher {
self.watcher = match create_watcher(&self.name, &self.path) { self.watcher = match create_watcher(&self.name, &self.path) {