diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-15 04:42:47 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-07-15 04:42:47 +0000 |
commit | 1f41937115fcd3c362ea5bcd93ca89f7b09b8a4d (patch) | |
tree | e296518597c3a75665dd6887e1af8e9068b20442 /libjava | |
parent | f2fbb03c56a8cca45e8be218f071db06591fa911 (diff) | |
download | gcc-1f41937115fcd3c362ea5bcd93ca89f7b09b8a4d.tar.gz |
* java/awt/EventQueue.java (invokeAndWait): Call postEvent() within
synchronized block.
* java/awt/event/InvocationEvent (dispatch): Synchronize on notifier
before calling notifyAll().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@35042 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/java/awt/EventQueue.java | 5 | ||||
-rw-r--r-- | libjava/java/awt/event/InvocationEvent.java | 7 |
2 files changed, 8 insertions, 4 deletions
diff --git a/libjava/java/awt/EventQueue.java b/libjava/java/awt/EventQueue.java index 0a60d69d470..6ba9cb64585 100644 --- a/libjava/java/awt/EventQueue.java +++ b/libjava/java/awt/EventQueue.java @@ -153,11 +153,10 @@ public class EventQueue InvocationEvent ie = new InvocationEvent(eq, runnable, current, true); - - eq.postEvent(ie); - + synchronized (current) { + eq.postEvent(ie); current.wait(); } diff --git a/libjava/java/awt/event/InvocationEvent.java b/libjava/java/awt/event/InvocationEvent.java index 778eb18fab3..6ee6300e7fc 100644 --- a/libjava/java/awt/event/InvocationEvent.java +++ b/libjava/java/awt/event/InvocationEvent.java @@ -62,7 +62,12 @@ public class InvocationEvent extends AWTEvent implements ActiveEvent runnable.run (); if (notifier != null) - notifier.notifyAll (); + { + synchronized (notifier) + { + notifier.notifyAll (); + } + } } public Exception getException () |