From 431a88f73b9d0b64e869fc07a2f5c66071cb1dfb Mon Sep 17 00:00:00 2001 From: Martin Oberhuber < martin.oberhuber@windriver.com> Date: Wed, 7 Nov 2007 15:43:55 +0000 Subject: [PATCH] [209043] Finish ShellOutputReader when connect fails due to an error --- .../rse/internal/services/ssh/shell/SshHostShell.java | 10 +++++++++- .../services/telnet/shell/TelnetHostShell.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/shell/SshHostShell.java b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/shell/SshHostShell.java index 42aa711fc78..3f5c1fb5658 100644 --- a/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/shell/SshHostShell.java +++ b/rse/plugins/org.eclipse.rse.services.ssh/src/org/eclipse/rse/internal/services/ssh/shell/SshHostShell.java @@ -117,12 +117,20 @@ public class SshHostShell extends AbstractHostShell implements IHostShell { writeToShell(commandToRun); } } catch(Exception e) { - //TODO Forward exception to RSE properly + //TODO [209043] Forward exception to RSE properly e.printStackTrace(); if (fShellWriter!=null) { fShellWriter.stopThread(); fShellWriter = null; } + if (fStderrHandler!=null) { + fStderrHandler.interrupt(); + fStderrHandler = null; + } + if (fStdoutHandler!=null) { + fStdoutHandler.interrupt(); + fStdoutHandler = null; + } } } diff --git a/rse/plugins/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/shell/TelnetHostShell.java b/rse/plugins/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/shell/TelnetHostShell.java index 43e8d43838f..faf9979716d 100644 --- a/rse/plugins/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/shell/TelnetHostShell.java +++ b/rse/plugins/org.eclipse.rse.services.telnet/src/org/eclipse/rse/internal/services/telnet/shell/TelnetHostShell.java @@ -81,12 +81,20 @@ public class TelnetHostShell extends AbstractHostShell implements IHostShell { writeToShell(commandToRun); } } catch(Exception e) { - //TODO Forward exception to RSE properly + //TODO [209043] Forward exception to RSE properly e.printStackTrace(); if (fShellWriter!=null) { fShellWriter.stopThread(); fShellWriter = null; } + if (fStderrHandler!=null) { + fStderrHandler.interrupt(); + fStderrHandler = null; + } + if (fStdoutHandler!=null) { + fStdoutHandler.interrupt(); + fStdoutHandler = null; + } } }