summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-15 04:42:47 +0000
committerbryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4>2000-07-15 04:42:47 +0000
commit1f41937115fcd3c362ea5bcd93ca89f7b09b8a4d (patch)
treee296518597c3a75665dd6887e1af8e9068b20442 /libjava
parentf2fbb03c56a8cca45e8be218f071db06591fa911 (diff)
downloadgcc-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.java5
-rw-r--r--libjava/java/awt/event/InvocationEvent.java7
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 ()