Author: nextgens
Date: 2008-04-28 16:17:10 +0000 (Mon, 28 Apr 2008)
New Revision: 19589
Modified:
trunk/freenet/src/freenet/node/PeerManager.java
Log:
Fix a deadlock in PeerManager: writePeersInner will request PeerNode.this *but*
the calling thread might not have it
Modified: trunk/freenet/src/freenet/node/PeerManager.java
===================================================================
--- trunk/freenet/src/freenet/node/PeerManager.java 2008-04-28 15:45:40 UTC
(rev 19588)
+++ trunk/freenet/src/freenet/node/PeerManager.java 2008-04-28 16:17:10 UTC
(rev 19589)
@@ -1008,6 +1008,7 @@
}
private void writePeersInner() {
+ synchronized(this) {
synchronized(writePeersSync) {
if(darkFilename != null)
writePeersInner(darkFilename, getDarknetPeers());
@@ -1018,6 +1019,7 @@
writePeersInner(om.getOldPeersFilename(),
om.getOldPeers());
}
}
+ }
}
/**