Author: toad
Date: 2007-07-27 23:04:12 +0000 (Fri, 27 Jul 2007)
New Revision: 14404

Modified:
   trunk/freenet/src/freenet/node/Node.java
Log:
Try to recover from throwables storing data

Modified: trunk/freenet/src/freenet/node/Node.java
===================================================================
--- trunk/freenet/src/freenet/node/Node.java    2007-07-27 22:57:23 UTC (rev 
14403)
+++ trunk/freenet/src/freenet/node/Node.java    2007-07-27 23:04:12 UTC (rev 
14404)
@@ -94,6 +94,7 @@
 import freenet.support.LRUHashtable;
 import freenet.support.LRUQueue;
 import freenet.support.Logger;
+import freenet.support.OOMHandler;
 import freenet.support.ShortBuffer;
 import freenet.support.SimpleFieldSet;
 import freenet.support.api.BooleanCallback;
@@ -1769,6 +1770,12 @@
                                
clientCore.requestStarters.chkFetchScheduler.tripPendingKey(block);
                } catch (IOException e) {
                        Logger.error(this, "Cannot store data: "+e, e);
+               } catch (OutOfMemoryError e) {
+                       OOMHandler.handleOOM(e);
+               } catch (Throwable t) {
+                       System.err.println(t);
+                       t.printStackTrace();
+                       Logger.error(this, "Caught "+t+" storing data", t);
                }
        }

@@ -1795,6 +1802,12 @@

                } catch (IOException e) {
                        Logger.error(this, "Cannot store data: "+e, e);
+               } catch (OutOfMemoryError e) {
+                       OOMHandler.handleOOM(e);
+               } catch (Throwable t) {
+                       System.err.println(t);
+                       t.printStackTrace();
+                       Logger.error(this, "Caught "+t+" storing data", t);
                }
        }



Reply via email to