Author: j16sdiz
Date: 2008-04-11 07:17:09 +0000 (Fri, 11 Apr 2008)
New Revision: 19160
Modified:
trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
Log:
findbugs: synchronization and no sleep when lock held
fix a harmless warning from findbugs.
Modified: trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java
===================================================================
--- trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-04-10
22:43:41 UTC (rev 19159)
+++ trunk/freenet/src/freenet/store/BerkeleyDBFreenetStore.java 2008-04-11
07:17:09 UTC (rev 19160)
@@ -1591,19 +1591,26 @@
// happen is that we miss the last
few store()'s and get an exception.
logMINOR = Logger.shouldLog(Logger.MINOR, this);
if(logMINOR) Logger.minor(this, "Closing database
"+this);
- closed = true;
+
+ synchronized (this) {
+ closed = true;
+ }
+
+ // Give all threads some time to complete
+ if(sleep)
+ Thread.sleep(5000);
+
if(reallyClosed) {
Logger.error(this, "Already closed "+this);
return;
}
+
synchronized(closeLock) {
if(reallyClosed) {
Logger.error(this, "Already closed
"+this);
return;
}
- // Give all threads some time to complete
- if(sleep)
- Thread.sleep(5000);
+
try {
if(storeRAF != null)
storeRAF.close();