aboutsummaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/PR27908.java
diff options
context:
space:
mode:
authorAndrew Haley <aph@gcc.gnu.org>2007-09-04 17:54:56 +0000
committerAndrew Haley <aph@gcc.gnu.org>2007-09-04 17:54:56 +0000
commit0854f1891d6f327f1a3625f3aaaab3c595377569 (patch)
tree8e1d1816291f3aaa4fb7975ed50aa7c29fe96e38 /libjava/testsuite/libjava.lang/PR27908.java
parentcb642590f317e30bd870b47934dac12a71f320b1 (diff)
downloadgcc-0854f1891d6f327f1a3625f3aaaab3c595377569.zip
gcc-0854f1891d6f327f1a3625f3aaaab3c595377569.tar.gz
gcc-0854f1891d6f327f1a3625f3aaaab3c595377569.tar.bz2
re PR java/27908 (VMSecureRandom generateSeed infinite loop? (Regression))
2007-09-04 Andrew Haley <aph@redhat.com> PR java/27908 * testsuite/libjava.lang/PR27908.java ({run1,run2,run3}.isRunning): New Method. (main): Fix race condition. From-SVN: r128094
Diffstat (limited to 'libjava/testsuite/libjava.lang/PR27908.java')
-rw-r--r--libjava/testsuite/libjava.lang/PR27908.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/libjava/testsuite/libjava.lang/PR27908.java b/libjava/testsuite/libjava.lang/PR27908.java
index 09f9654..addb1d7 100644
--- a/libjava/testsuite/libjava.lang/PR27908.java
+++ b/libjava/testsuite/libjava.lang/PR27908.java
@@ -13,7 +13,8 @@ class PR27908
(t2 = new Thread (r2)).start();
(t3 = new Thread (r3)).start();
- Thread.yield();
+ while (! (r1.isRunning() && r2.isRunning() && r3.isRunning()))
+ Thread.yield();
r1.stop();
r2.stop();
@@ -45,6 +46,11 @@ class PR27908
{
running = false;
}
+
+ public boolean isRunning()
+ {
+ return running;
+ }
}
private static class run2 implements Runnable
@@ -64,6 +70,11 @@ class PR27908
{
running = false;
}
+
+ public boolean isRunning()
+ {
+ return running;
+ }
}
static class run3 implements Runnable
@@ -83,5 +94,10 @@ class PR27908
{
running = false;
}
+
+ public boolean isRunning()
+ {
+ return running;
+ }
}
}