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 [email protected] http://emu.freenetproject.org/cgi-bin/mailman/listinfo/devl
