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);
        }



Reply via email to