Author: nextgens
Date: 2006-07-09 17:44:36 +0000 (Sun, 09 Jul 2006)
New Revision: 9524
Modified:
trunk/freenet/src/freenet/node/ARKFetchManager.java
Log:
fix a potential synchronization problem on ARKFetchManager
Modified: trunk/freenet/src/freenet/node/ARKFetchManager.java
===================================================================
--- trunk/freenet/src/freenet/node/ARKFetchManager.java 2006-07-09 16:25:51 UTC
(rev 9523)
+++ trunk/freenet/src/freenet/node/ARKFetchManager.java 2006-07-09 17:44:36 UTC
(rev 9524)
@@ -16,7 +16,7 @@
final Node node;
/** All the ARKFetchers who want to fetch */
- private LinkedList readyARKFetchers = new LinkedList();
+ private final LinkedList readyARKFetchers = new LinkedList();
/**
* Create a ARKFetchManager
@@ -28,14 +28,13 @@
this.node = node;
}
- public void addReadyARKFetcher(ARKFetcher arkFetcher) {
- synchronized(readyARKFetchers) {
+ public synchronized void addReadyARKFetcher(ARKFetcher arkFetcher) {
if(hasReadyARKFetcher(arkFetcher)) {
Logger.error(this, arkFetcher.peer.getPeer()+"
already in readyARKFetchers");
return;
}
readyARKFetchers.addLast(arkFetcher);
- }
+
}
public boolean hasReadyARKFetcher(ARKFetcher arkFetcher) {
@@ -48,8 +47,10 @@
}
public boolean hasReadyARKFetchers() {
- if(readyARKFetchers.size() > 0) {
- return true;
+ synchronized (readyARKFetchers) {
+ if(readyARKFetchers.size() > 0) {
+ return true;
+ }
}
return false;
}