Author: toad
Date: 2006-12-14 21:27:19 +0000 (Thu, 14 Dec 2006)
New Revision: 11413

Modified:
   trunk/freenet/src/freenet/node/fcp/FCPServer.java
Log:
Just because one bucket throws doesn't mean they all will; there isn't another 
chance for them to be freed...

Modified: trunk/freenet/src/freenet/node/fcp/FCPServer.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/FCPServer.java   2006-12-14 21:25:15 UTC 
(rev 11412)
+++ trunk/freenet/src/freenet/node/fcp/FCPServer.java   2006-12-14 21:27:19 UTC 
(rev 11413)
@@ -523,8 +523,16 @@
                        if(logMINOR) Logger.minor(this, "Stored persistent 
requests");
                } finally {
                        if(toFree != null) {
-                               for(int i=0;i<toFree.length;i++)
-                                       toFree[i].free();
+                               for(int i=0;i<toFree.length;i++) {
+                                       try {
+                                               toFree[i].free();
+                                       } catch (Throwable t) {
+                                               try {
+                                                       
System.err.println("Caught "+t+" trying to free bucket "+toFree[i]);
+                                                       t.printStackTrace();
+                                               } catch (Throwable t1) { /* 
ignore */ }
+                                       }
+                               }
                        }
                }
        }


Reply via email to