Author: toad
Date: 2009-04-01 00:28:54 +0000 (Wed, 01 Apr 2009)
New Revision: 26297
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Eliminate bad side-effect of isFinished
Modified:
branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2009-04-01 00:21:33 UTC (rev 26296)
+++ branches/db4o/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
2009-04-01 00:28:54 UTC (rev 26297)
@@ -166,11 +166,14 @@
public synchronized boolean isFinished(ObjectContainer container) {
if(finished) return true;
+ // Deactivating parent is a *bad* side-effect, so avoid it.
+ boolean deactivateParent = false;
if(persistent) {
- container.activate(parent, 1);
+ deactivateParent = !container.ext().isActive(parent);
+ if(deactivateParent) container.activate(parent, 1);
}
boolean ret = parent.isCancelled();
- if(persistent)
+ if(deactivateParent)
container.deactivate(parent, 1);
return ret;
}
_______________________________________________
cvs mailing list
[email protected]
http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs