Author: toad
Date: 2009-02-19 00:44:50 +0000 (Thu, 19 Feb 2009)
New Revision: 25716

Modified:
   branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
Log:
Fix database object leak caused by not store(this)'ing


Modified: branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java
===================================================================
--- branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2009-02-19 
00:42:41 UTC (rev 25715)
+++ branches/db4o/freenet/src/freenet/node/fcp/ClientGet.java   2009-02-19 
00:44:50 UTC (rev 25716)
@@ -566,12 +566,13 @@
                trySendDataFoundOrGetFailed(null, container);
                if(persistenceType == PERSIST_FOREVER) {
                        container.activate(client, 1);
-                       container.store(this);
                }
+               freeData(container);
                finish(container);
-               freeData(container);
                if(client != null)
                        client.notifyFailure(this, container);
+               if(persistenceType == PERSIST_FOREVER)
+                       container.store(this);
        }
 
        public void onSuccess(BaseClientPutter state, ObjectContainer 
container) {
@@ -730,6 +731,8 @@
                        data.free();
                        if(persistenceType == PERSIST_FOREVER)
                                data.removeFrom(container);
+                       if(persistenceType == PERSIST_FOREVER)
+                               container.store(this);
                }
        }
 

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

Reply via email to