Author: toad
Date: 2008-06-24 14:00:31 +0000 (Tue, 24 Jun 2008)
New Revision: 20644

Modified:
   
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
Log:
Catch NPE. :|

Modified: 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java
===================================================================
--- 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-06-24 13:03:39 UTC (rev 20643)
+++ 
branches/db4o/freenet/src/freenet/client/async/ClientRequestSchedulerCore.java  
    2008-06-24 14:00:31 UTC (rev 20644)
@@ -478,7 +478,15 @@
 //                                     return 0;
 //                             }
 //                     });
-                       for(int i=0;registerMeSet.hasNext() && i < 5; i++) {
+                       for(int i=0;i < 5; i++) {
+                               try {
+                                       if(!registerMeSet.hasNext()) break;
+                               } catch (NullPointerException t) {
+                                       Logger.error(this, "DB4O thew NPE in 
hasNext(): "+t, t);
+                                       // FIXME find some way to get a 
reproducible test case... I suspect it won't be easy :<
+                                       
context.jobRunner.queue(preRegisterMeRunner, NativeThread.NORM_PRIORITY, true);
+                                       return;
+                               }
                                long startNext = System.currentTimeMillis();
                                RegisterMe reg = (RegisterMe) 
registerMeSet.next();
                                long endNext = System.currentTimeMillis();


Reply via email to