From 6151897f39a26f4cf421e3cbf42ea5f9a4528d02 Mon Sep 17 00:00:00 2001 From: bagiras Date: Mon, 13 Feb 2012 17:49:23 +0400 Subject: [PATCH] 7143070: test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java freezes on exit Reviewed-by: anthony --- .../PaintSetEnabledDeadlock.java | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java b/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java index 294f45556..595cfc99c 100644 --- a/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java +++ b/test/java/awt/print/PaintSetEnabledDeadlock/PaintSetEnabledDeadlock.java @@ -54,9 +54,12 @@ public class PaintSetEnabledDeadlock extends Frame { Util.clickOnComp(frame.button, robot); } - frame.panel.stop(); + boolean ret = frame.panel.stop(); frame.dispose(); + if (!ret) { + throw new RuntimeException("Test failed!"); + } System.out.println("Test passed."); } @@ -140,17 +143,19 @@ class TestPanel extends Panel implements Runnable { } } - public void stop() { + public boolean stop() { active = false; try { - synchronized (sync) { - sync.notify(); - } - synchronized (thread) { - thread.wait(); + sync(); + thread.join(1000); + if (thread.isAlive()) { + thread.interrupt(); + return false; } } catch (InterruptedException ex) { + return false; } + return true; } public void draw() { -- GitLab