summaryrefslogtreecommitdiffstats
path: root/libjava/java/awt/EventDispatchThread.java
diff options
context:
space:
mode:
authorfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-16 16:15:49 +0000
committerfnasser <fnasser@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-16 16:15:49 +0000
commit2878d76b2a9774307da3dc7e261b9162aa714d54 (patch)
tree23d41a020b7d3f81a3015111bd82e8f4e329bb48 /libjava/java/awt/EventDispatchThread.java
parentd891500a27d110de5b29032975f64ab29179f293 (diff)
downloadppe42-gcc-2878d76b2a9774307da3dc7e261b9162aa714d54.tar.gz
ppe42-gcc-2878d76b2a9774307da3dc7e261b9162aa714d54.zip
* java/awt/EventDispatchThread.java (run): Stop running when
interrupted. * java/awt/EventQueue.java (pop): Stop dispatch thread when done. Reset the queue after transferring its contents. (push): Start a new dispatch thread if none is running. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75977 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/awt/EventDispatchThread.java')
-rw-r--r--libjava/java/awt/EventDispatchThread.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/libjava/java/awt/EventDispatchThread.java b/libjava/java/awt/EventDispatchThread.java
index 6e0e875abb5..91145e1bb48 100644
--- a/libjava/java/awt/EventDispatchThread.java
+++ b/libjava/java/awt/EventDispatchThread.java
@@ -62,8 +62,18 @@ class EventDispatchThread extends Thread
try
{
AWTEvent evt = queue.getNextEvent();
+ if (isInterrupted ())
+ {
+ // We are interrupted when we should finish executing
+ return;
+ }
queue.dispatchEvent(evt);
}
+ catch (InterruptedException ie)
+ {
+ // We are interrupted when we should finish executing
+ return;
+ }
catch (Throwable x)
{
System.err.println("Exception during event dispatch:");
OpenPOWER on IntegriCloud