Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2006-07-25 16:11:52 +0000
committerDarin Wright2006-07-25 16:11:52 +0000
commit99cde141b840b20a66f98a0970fe564746a0a94b (patch)
tree77924bd419887e6b0336c2cb772bf6e45d6b7981 /org.eclipse.ui.console
parent01d4d26666a9309ddab46f409c0f538edbad6bbf (diff)
downloadeclipse.platform.debug-99cde141b840b20a66f98a0970fe564746a0a94b.tar.gz
eclipse.platform.debug-99cde141b840b20a66f98a0970fe564746a0a94b.tar.xz
eclipse.platform.debug-99cde141b840b20a66f98a0970fe564746a0a94b.zip
Bug 138976 [console] IOException when closing the application
Diffstat (limited to 'org.eclipse.ui.console')
-rw-r--r--org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java22
1 files changed, 19 insertions, 3 deletions
diff --git a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
index c5b168a49..d5c6b5406 100644
--- a/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
+++ b/org.eclipse.ui.console/src/org/eclipse/ui/console/IOConsole.java
@@ -13,6 +13,7 @@ package org.eclipse.ui.console;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Iterator;
import java.util.List;
import org.eclipse.jface.resource.ImageDescriptor;
@@ -245,9 +246,24 @@ public class IOConsole extends TextConsole {
protected void dispose() {
super.dispose();
partitioner.disconnect();
- try {
- inputStream.close();
- } catch (IOException ioe) {
+ synchronized (openStreams) {
+ Iterator iterator = openStreams.iterator();
+ while (iterator.hasNext()) {
+ Object stream = iterator.next();
+ if (stream instanceof IOConsoleInputStream) {
+ IOConsoleInputStream is = (IOConsoleInputStream) stream;
+ try {
+ is.close();
+ } catch (IOException e) {
+ }
+ } else if (stream instanceof IOConsoleOutputStream) {
+ IOConsoleOutputStream os = (IOConsoleOutputStream) stream;
+ try {
+ os.close();
+ } catch (IOException e) {
+ }
+ }
+ }
}
inputStream = null;
}

Back to the top