Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2004-09-18 14:43:19 +0000
committerDarin Wright2004-09-18 14:43:19 +0000
commit22e739d6d47dfa3d7153348a18a0868d29856ce0 (patch)
tree3a6f45480b02edee0f78b15144fc1d63e7d32b73 /org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
parent6b21c14be4d8e1c8a3210637093da54758ecdcd7 (diff)
downloadeclipse.platform.debug-22e739d6d47dfa3d7153348a18a0868d29856ce0.tar.gz
eclipse.platform.debug-22e739d6d47dfa3d7153348a18a0868d29856ce0.tar.xz
eclipse.platform.debug-22e739d6d47dfa3d7153348a18a0868d29856ce0.zip
Bug 74229 - Debug test failure for program arguments
Diffstat (limited to 'org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java')
-rw-r--r--org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java16
1 files changed, 11 insertions, 5 deletions
diff --git a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
index cb4ff7e04..6f9f4ce9b 100644
--- a/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
+++ b/org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java
@@ -78,7 +78,9 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
* @see org.eclipse.debug.core.model.IStreamMonitor#addListener(org.eclipse.debug.core.IStreamListener)
*/
public void addListener(IStreamListener listener) {
- fListeners.add(listener);
+ synchronized (fListeners) {
+ fListeners.add(listener);
+ }
}
/**
@@ -132,10 +134,12 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
read= fStream.read(bytes);
if (read > 0) {
String text= new String(bytes, 0, read);
- if (isBuffered()) {
- fContents.append(text);
+ synchronized (fListeners) {
+ if (isBuffered()) {
+ fContents.append(text);
+ }
+ fireStreamAppended(text);
}
- fireStreamAppended(text);
}
} catch (IOException ioe) {
DebugPlugin.log(ioe);
@@ -164,7 +168,9 @@ public class OutputStreamMonitor implements IFlushableStreamMonitor {
* @see org.eclipse.debug.core.model.IStreamMonitor#removeListener(org.eclipse.debug.core.IStreamListener)
*/
public void removeListener(IStreamListener listener) {
- fListeners.remove(listener);
+ synchronized (fListeners) {
+ fListeners.remove(listener);
+ }
}
/**

Back to the top