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());
                }
        }
+           }
     }
     
     /**

_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs

Reply via email to