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() {