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

Reply via email to