Browse Source

Unconditionally close repositories in RepositoryCache.clear()

Earlier we tried to close the repository before removing it from the
cache, so close only reduced refcount but didn't close it.

Now that we no longer leak usage count on purpose and the usage count is
now ignored anyway, there is no longer a need to run the removal twice.

Change-Id: I8b62cec6d8a3e88c096d1f37a1f7f5a5066c90a0
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
stable-4.5
Matthias Sohn 8 years ago
parent
commit
535f0afd13
  1. 8
      org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java

8
org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java

@ -326,15 +326,9 @@ public class RepositoryCache {
} }
private void clearAll() { private void clearAll() {
for (int stage = 0; stage < 2; stage++) {
for (Iterator<Map.Entry<Key, Reference<Repository>>> i = cacheMap for (Iterator<Map.Entry<Key, Reference<Repository>>> i = cacheMap
.entrySet().iterator(); i.hasNext();) { .entrySet().iterator(); i.hasNext();) {
final Map.Entry<Key, Reference<Repository>> e = i.next(); unregisterAndCloseRepository(i.next().getKey(), null);
final Repository db = e.getValue().get();
if (db != null)
db.close();
i.remove();
}
} }
} }

Loading…
Cancel
Save