diff options
author | Darin Wright | 2004-09-18 14:43:19 +0000 |
---|---|---|
committer | Darin Wright | 2004-09-18 14:43:19 +0000 |
commit | 22e739d6d47dfa3d7153348a18a0868d29856ce0 (patch) | |
tree | 3a6f45480b02edee0f78b15144fc1d63e7d32b73 /org.eclipse.debug.core/core/org/eclipse/debug/internal/core/OutputStreamMonitor.java | |
parent | 6b21c14be4d8e1c8a3210637093da54758ecdcd7 (diff) | |
download | eclipse.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.java | 16 |
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); + } } /** |