Author: toad
Date: 2008-06-18 17:33:07 +0000 (Wed, 18 Jun 2008)
New Revision: 20436
Modified:
branches/db4o/freenet/src/freenet/client/async/USKInserter.java
Log:
Remove from database when done with the USKFetcherTag
Modified: branches/db4o/freenet/src/freenet/client/async/USKInserter.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKInserter.java
2008-06-18 17:28:32 UTC (rev 20435)
+++ branches/db4o/freenet/src/freenet/client/async/USKInserter.java
2008-06-18 17:33:07 UTC (rev 20436)
@@ -101,6 +101,8 @@
}
}
if(!alreadyInserted) {
+ if(parent.persistent())
+ fetcher.removeFromDatabase(container);
fetcher = null;
}
}
@@ -197,6 +199,7 @@
sbi.cancel(container, context);
synchronized(this) {
finished = true;
+ fetcher = null;
}
cb.onFailure(new InsertException(InsertException.CANCELLED),
this, container, context);
}
@@ -207,6 +210,11 @@
}
public synchronized void onCancelled(ObjectContainer container,
ClientContext context) {
+ if(fetcher != null) {
+ if(parent.persistent())
+ fetcher.removeFromDatabase(container);
+ fetcher = null;
+ }
if(finished) return;
Logger.error(this, "Unexpected onCancelled()", new
Exception("error"));
cancel(container, context);