diff options
author | Hugo Arès <hugo.ares@ericsson.com> | 2016-10-12 06:54:52 -0400 |
---|---|---|
committer | Hugo Arès <hugo.ares@ericsson.com> | 2016-10-12 07:07:03 -0400 |
commit | 5a1e147eaa729ba0ba75bdeebcc745a55bff6232 (patch) | |
tree | ed0e7f952f1fe90d2bf49f9767dd6d22dfc06b88 /org.eclipse.jgit | |
parent | 15341ce5777c25dd41a52cf4b633ba363e3bf7a2 (diff) | |
download | jgit-5a1e147eaa729ba0ba75bdeebcc745a55bff6232.tar.gz jgit-5a1e147eaa729ba0ba75bdeebcc745a55bff6232.zip |
Fix eviction of repositories with negative usage count
If the repository close method was called twice (or more) for one open,
the usage count became negative and the repository was never be evicted
from the cache because the method checking if repository is expired was
not considering negative usage count.
Change-Id: I18a80c415c54c37d1b9def2b311ff2d0afa455ca
Signed-off-by: Hugo Arès <hugo.ares@ericsson.com>
Diffstat (limited to 'org.eclipse.jgit')
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java index 2e0ed16a55..98ac601130 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/RepositoryCache.java @@ -298,7 +298,7 @@ public class RepositoryCache { } private boolean isExpired(Repository db) { - return db != null && db.useCnt.get() == 0 + return db != null && db.useCnt.get() <= 0 && (System.currentTimeMillis() - db.closedAt.get() > expireAfter); } |