Author: toad
Date: 2006-09-27 11:34:42 +0000 (Wed, 27 Sep 2006)
New Revision: 10516

Modified:
   trunk/freenet/src/freenet/crypt/DiffieHellman.java
Log:
Run genParams in-thread if necessary.

Modified: trunk/freenet/src/freenet/crypt/DiffieHellman.java
===================================================================
--- trunk/freenet/src/freenet/crypt/DiffieHellman.java  2006-09-27 00:11:52 UTC 
(rev 10515)
+++ trunk/freenet/src/freenet/crypt/DiffieHellman.java  2006-09-27 11:34:42 UTC 
(rev 10516)
@@ -116,25 +116,12 @@
                        //Ensure that we will have something to pop (at least 
pretty soon)
                        askRefill(); 

-                       //Wait until we actually have something to pop
-                       while (precalcBuffer.isEmpty()) {
-                               try {
-                                       precalcBuffer.wait();
-                               } catch (InterruptedException e) {
-                                       // Ignored.
-                               }
+                       if(!precalcBuffer.isEmpty()) {
+                               return (NativeBigInteger[]) precalcBuffer.pop();
                        }
-
-                       NativeBigInteger[] result = (NativeBigInteger[]) 
precalcBuffer.pop();
-
-                       //Hint the precalcer that it might have something to do 
now
-                       askRefill();
-
-                       //Release possible other precalc value waiters
-                       precalcBuffer.notify();
-
-                       return result;
+                       
                }
+               return genParams();
        }

        private static NativeBigInteger[] genParams() {


Reply via email to