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