Author: toad
Date: 2007-10-22 18:41:04 +0000 (Mon, 22 Oct 2007)
New Revision: 15475

Modified:
   trunk/freenet/src/freenet/node/CHKInsertSender.java
Log:
Detect when realRun() returns without setting status

Modified: trunk/freenet/src/freenet/node/CHKInsertSender.java
===================================================================
--- trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-10-22 11:38:14 UTC 
(rev 15474)
+++ trunk/freenet/src/freenet/node/CHKInsertSender.java 2007-10-22 18:41:04 UTC 
(rev 15475)
@@ -209,6 +209,14 @@
         node.addInsertSender(myKey, origHTL, this);
         try {
                realRun();
+               int myStatus;
+               synchronized(this) {
+                       myStatus = status;
+               }
+               if(myStatus == NOT_FINISHED) {
+                       Logger.error(this, "realRun() returned without setting 
status on "+this);
+                       finish(INTERNAL_ERROR, null); // Avoid deadlock
+               }
                } catch (OutOfMemoryError e) {
                        OOMHandler.handleOOM(e);
             int myStatus;


Reply via email to