Author: toad
Date: 2008-07-10 19:29:24 +0000 (Thu, 10 Jul 2008)
New Revision: 21033
Modified:
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
branches/db4o/freenet/src/freenet/client/async/USKChecker.java
Log:
Fix a deadlock
Modified:
branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2008-07-10 19:28:28 UTC (rev 21032)
+++ branches/db4o/freenet/src/freenet/client/async/BaseSingleFileFetcher.java
2008-07-10 19:29:24 UTC (rev 21033)
@@ -187,6 +187,7 @@
return;
}
}
+ unregister(container); // Key has already been removed from
pendingKeys
try {
onSuccess(Key.createKeyBlock(this.key, block), false,
null, container, context);
} catch (KeyVerifyException e) {
Modified:
branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
2008-07-10 19:28:28 UTC (rev 21032)
+++ branches/db4o/freenet/src/freenet/client/async/SimpleSingleFileFetcher.java
2008-07-10 19:29:24 UTC (rev 21033)
@@ -115,7 +115,6 @@
container.activate(parent, 1);
container.activate(rcb, 1);
}
- unregister(container); // pending key has already been removed
if(parent.isCancelled()) {
data.asBucket().free();
onFailure(new FetchException(FetchException.CANCELLED),
false, container, context);
Modified: branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
2008-07-10 19:28:28 UTC (rev 21032)
+++ branches/db4o/freenet/src/freenet/client/async/SingleFileFetcher.java
2008-07-10 19:29:24 UTC (rev 21033)
@@ -181,7 +181,6 @@
}
protected void onSuccess(FetchResult result, ObjectContainer container,
ClientContext context) {
- unregister(container); // Key has already been removed from
pendingKeys
if(persistent) {
container.activate(decompressors, 1);
container.activate(parent, 1);
Modified: branches/db4o/freenet/src/freenet/client/async/USKChecker.java
===================================================================
--- branches/db4o/freenet/src/freenet/client/async/USKChecker.java
2008-07-10 19:28:28 UTC (rev 21032)
+++ branches/db4o/freenet/src/freenet/client/async/USKChecker.java
2008-07-10 19:29:24 UTC (rev 21033)
@@ -32,7 +32,6 @@
container.activate(this, 1);
container.activate(cb, 1);
}
- unregister(container); // Key has already been removed from
pendingKeys
cb.onSuccess((ClientSSKBlock)block, context);
}