diff options
author | Darin Wright | 2006-07-25 16:11:52 +0000 |
---|---|---|
committer | Darin Wright | 2006-07-25 16:11:52 +0000 |
commit | 99cde141b840b20a66f98a0970fe564746a0a94b (patch) | |
tree | 77924bd419887e6b0336c2cb772bf6e45d6b7981 /org.eclipse.ui.console | |
parent | 01d4d26666a9309ddab46f409c0f538edbad6bbf (diff) | |
download | eclipse.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.java | 22 |
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; } |