aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/awt/EventDispatchThread.java
diff options
context:
space:
mode:
authorFernando Nasser <fnasser@redhat.com>2004-01-16 16:15:49 +0000
committerFernando Nasser <fnasser@gcc.gnu.org>2004-01-16 16:15:49 +0000
commit101900aa2885d08ceff3035eb1ece524222f573f (patch)
tree23d41a020b7d3f81a3015111bd82e8f4e329bb48 /libjava/java/awt/EventDispatchThread.java
parent5ed5fd905c6fd33256c0a64f5913d4064bc5eccd (diff)
downloadgcc-101900aa2885d08ceff3035eb1ece524222f573f.zip
gcc-101900aa2885d08ceff3035eb1ece524222f573f.tar.gz
gcc-101900aa2885d08ceff3035eb1ece524222f573f.tar.bz2
EventDispatchThread.java (run): Stop running when interrupted.
* 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. From-SVN: r75977
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 6e0e875..91145e1 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:");