Author: toad
Date: 2009-02-14 01:21:32 +0000 (Sat, 14 Feb 2009)
New Revision: 25636

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
Log:
Don't leak progress messages


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2009-02-14 01:21:07 UTC (rev 25635)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientPutBase.java       
2009-02-14 01:21:32 UTC (rev 25636)
@@ -314,10 +314,15 @@
        private void trySendProgressMessage(final FCPMessage msg, final int 
verbosity, FCPConnectionOutputHandler handler, ObjectContainer container, 
ClientContext context) {
                if(persistenceType == PERSIST_FOREVER) {
                        if(container != null) {
+                               FCPMessage oldProgress = null;
                                synchronized(this) {
-                                       if(persistenceType != 
PERSIST_CONNECTION)
+                                       if(persistenceType != 
PERSIST_CONNECTION) {
+                                               oldProgress = progressMessage;
                                                progressMessage = msg;
+                                       }
                                }
+                               if(oldProgress != null)
+                                       oldProgress.removeFrom(container);
                                container.store(this);
                        } else {
                                final FCPConnectionOutputHandler h = handler;

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

Reply via email to