diff options
Diffstat (limited to 'libjava/testsuite/libjava.lang/Thread_Interrupt.java')
-rw-r--r-- | libjava/testsuite/libjava.lang/Thread_Interrupt.java | 156 |
1 files changed, 0 insertions, 156 deletions
diff --git a/libjava/testsuite/libjava.lang/Thread_Interrupt.java b/libjava/testsuite/libjava.lang/Thread_Interrupt.java deleted file mode 100644 index a692474..0000000 --- a/libjava/testsuite/libjava.lang/Thread_Interrupt.java +++ /dev/null @@ -1,156 +0,0 @@ -// Test interrupt() behaviour on a thread in wait(), sleep(), and spinning -// in a loop. - -class ThreadBase extends Thread -{ - boolean ready = false; - - synchronized void ready() - { - ready = true; - } -} - -class Waiter extends ThreadBase -{ - public synchronized void run() - { - super.ready(); - System.out.println ("wait()"); - try - { - wait(); - System.out.println("Error: wait() completed normally."); - } - catch (InterruptedException x) - { - if (isInterrupted() || interrupted()) - System.out.println("Error: interrupt flag is still set."); - - } - System.out.println("interrupted - ok"); - } -} - -class Sleeper extends ThreadBase -{ - public void run() - { - super.ready(); - System.out.println ("sleep()"); - try - { - sleep(5000); - System.out.println("Error: sleep() completed normally."); - } - catch (InterruptedException x) - { - if (isInterrupted() || interrupted()) - System.out.println("Error: interrupt flag is still set."); - - System.out.println("interrupted - ok"); - } - } -} - -class Looper extends ThreadBase -{ - public void run() - { - super.ready(); - System.out.println ("Busy waiting"); - - int count = 0; - long start = System.currentTimeMillis(); - while (true) - { - Thread.yield(); - if (isInterrupted ()) - break; - long now = System.currentTimeMillis(); - if ((now - start) > 5000) - break; - } - synchronized (this) - { - if (interrupted ()) - { - System.out.println ("interrupted - ok"); - if (isInterrupted () || interrupted ()) - System.out.println("Error: interrupt flag is still set."); - } - else - System.out.println ("Error: Busy wait was not interrupted."); - } - } -} - -class Joiner extends ThreadBase -{ - public void run() - { - super.ready(); - System.out.println("join()"); - try - { - join(2000); - System.out.println("Error: join() completed normally??!"); - } - catch (InterruptedException x) - { - if (isInterrupted() || interrupted()) - System.out.println("Error: interrupt flag is still set."); - - System.out.println("interrupted - ok"); - } - - } -} - -public class Thread_Interrupt -{ - public static void main(String args[]) - { - Waiter w = new Waiter(); - w.start (); - sleep_and_interrupt (w); - - Sleeper s = new Sleeper(); - s.start (); - sleep_and_interrupt (s); - - Looper l = new Looper (); - l.start (); - sleep_and_interrupt (l); - - Joiner j = new Joiner (); - j.start (); - sleep_and_interrupt (j); - } - - public static void sleep_and_interrupt(ThreadBase t) - { - try - { - synchronized (t) - { - while (!t.ready) - t.wait(10); - } - - Thread.sleep (50); - t.interrupt (); - long t1 = System.currentTimeMillis(); - t.join (5000); - long time = System.currentTimeMillis() - t1; - if (time > 2900) - { - System.out.println ("Error: join() from main thread timed out"); - } - } - catch (InterruptedException x) - { - System.out.println("Error: main thread interrupted."); - } - } -} |