OSDN Git Service

2006-06-12 Andrew Haley <aph@redhat.com>
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jun 2006 13:37:54 +0000 (13:37 +0000)
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Jun 2006 13:37:54 +0000 (13:37 +0000)
        * testsuite/libjava.lang/PR27908.out: New.
        * testsuite/libjava.lang/PR27908.java: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@114568 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/testsuite/libjava.lang/PR27908.java [new file with mode: 0644]
libjava/testsuite/libjava.lang/PR27908.out [new file with mode: 0644]

index be95312..918037f 100644 (file)
@@ -1,3 +1,8 @@
+2006-06-12  Andrew Haley  <aph@redhat.com>
+
+       * testsuite/libjava.lang/PR27908.out: New.
+       * testsuite/libjava.lang/PR27908.java: New.
+
 2006-06-10  Thomas Fitzsimmons  <fitzsim@redhat.com>
 
        * configure.ac (ac_configure_args): Add --disable-plugin.
diff --git a/libjava/testsuite/libjava.lang/PR27908.java b/libjava/testsuite/libjava.lang/PR27908.java
new file mode 100644 (file)
index 0000000..66e7fca
--- /dev/null
@@ -0,0 +1,80 @@
+class PR27908
+{
+  public static void main (String[] argv)
+  {
+    run1 r1 = new run1();
+    run2 r2 = new run2();
+    run3 r3 = new run3();
+
+    new Thread (r1).start();
+    new Thread (r2).start();
+    new Thread (r3).start();
+
+    Thread.yield();
+
+    r1.stop();
+    r2.stop();
+    r3.stop();
+  }
+
+  private static class run1 implements Runnable
+  {
+    volatile int counter;
+    volatile boolean running;
+
+    public void run ()
+    {
+      counter = 0;
+      running = true;
+      while (running)
+        counter++;
+      System.out.println ("run1 exits!");
+    }
+
+    private void stop ()
+    {
+      running = false;
+    }
+  }
+
+  private static class run2 implements Runnable
+  {
+    volatile int counter;
+    boolean running;
+
+    public void run ()
+    {
+      counter = 0;
+      running = true;
+      while (running)
+        counter++;
+      System.out.println ("run2 exits!");
+    }
+
+    private void stop ()
+    {
+      running = false;
+    }
+  }
+
+  static class run3 implements Runnable
+  {
+    volatile int counter;
+    private volatile boolean running;
+
+    public void run ()
+    {
+      counter = 0;
+      running = true;
+      while (running)
+        counter++;
+      System.out.println ("run3 exits!");
+    }
+
+    void stop ()
+    {
+      running = false;
+    }
+  }
+
+}
diff --git a/libjava/testsuite/libjava.lang/PR27908.out b/libjava/testsuite/libjava.lang/PR27908.out
new file mode 100644 (file)
index 0000000..81bc2b2
--- /dev/null
@@ -0,0 +1,3 @@
+run2 exits!
+run3 exits!
+run1 exits!