On Monday 28 April 2008 17:17, [EMAIL PROTECTED] wrote: > 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
We don't really want to hold the PeerManager lock while doing I/O now do we? How did this deadlock work? > > 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 > >
pgpKd2Dr4jsWu.pgp
Description: PGP signature
_______________________________________________ Devl mailing list Devl@freenetproject.org http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl