From 9e21de83c2c62789568f8c30010d5281b905d95b Mon Sep 17 00:00:00 2001 From: Zlatin Balevsky Date: Mon, 15 Aug 2022 21:10:43 +0100 Subject: [PATCH] fire off dependent events before removing from the file tree which can be slow --- core/src/main/groovy/com/muwire/core/files/FileManager.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/main/groovy/com/muwire/core/files/FileManager.groovy b/core/src/main/groovy/com/muwire/core/files/FileManager.groovy index 1e40b7e8..774145e4 100644 --- a/core/src/main/groovy/com/muwire/core/files/FileManager.groovy +++ b/core/src/main/groovy/com/muwire/core/files/FileManager.groovy @@ -392,7 +392,6 @@ class FileManager { for (File dir : e.directories) { log.fine("FM: traversing from $dir") positiveTree.traverse(dir, cb) - positiveTree.remove(dir) } cb.subDirs.each {log.fine("FM: will remove dir $it")} if (!cb.subDirs.isEmpty()) @@ -401,6 +400,8 @@ class FileManager { eventBus.publish(new FileUnsharedEvent(unsharedFiles: cb.unsharedFiles.toArray(new SharedFile[0]), deleted: e.deleted, implicit: true)) } + for (File dir : e.directories) + positiveTree.remove(dir) } void onWatchedDirectoryConfigurationEvent(WatchedDirectoryConfigurationEvent e) {