Branch: Tag:

2016-05-10

2016-05-10 15:22:18 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Filesystem.Monitor: Don't propagate all errors.

Errors thrown by check() on deletion could cause other deletion
notifications to be lost, as the errors were rethrown before
the rest of the notifications were handled.

Those errors are now instead sent directly to the master.

522:    } else if (!m2) {    file_deleted(file);    } -  if (err) throw(err); +  if (err) { +  master()->handle_error(err);    } -  +  }    if (flags & MF_RECURSE) {    // Check the remaining files in the directory soon.    foreach(((files - new_files) - deleted_files), string file) {