proper fix for memory bug

This commit is contained in:
zab2
2019-04-16 00:37:29 +00:00
parent 7ce81db9a8
commit e5540d051f

View File

@ -114,11 +114,18 @@ class AccessFilter implements StatefulConnectionFilter {
} }
private void reload() throws IOException { private void reload() throws IOException {
Map<Hash, DestTracker> tmp = new HashMap<Hash, DestTracker>();
for (FilterDefinitionElement element : definition.getElements()) {
element.update(tmp);
}
synchronized(knownDests) { synchronized(knownDests) {
knownDests.clear(); knownDests.keySet().retainAll(tmp.keySet());
for (FilterDefinitionElement element : definition.getElements()) { for (Hash newHash : tmp.keySet()) {
element.update(knownDests); if (knownDests.containsKey(newHash))
} continue;
knownDests.put(newHash, tmp.get(newHash));
}
} }
} }