From cb374700108e854aee73e60008705faef29587b8 Mon Sep 17 00:00:00 2001 From: Christian Schwarz Date: Sat, 6 May 2017 23:44:59 +0200 Subject: [PATCH] sshbytestream: exited command always returns io.EOF --- sshbytestream/ssh.go | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sshbytestream/ssh.go b/sshbytestream/ssh.go index 1158418..2a226c3 100644 --- a/sshbytestream/ssh.go +++ b/sshbytestream/ssh.go @@ -116,7 +116,7 @@ func Outgoing(remote SSHTransport) (conn io.ReadWriteCloser, err error) { WaitErr: err, } } else { - f.SSHCommandError = nil + f.SSHCommandError = io.EOF } }() @@ -139,9 +139,7 @@ func (f *ForkedSSHReadWriteCloser) Read(p []byte) (n int, err error) { if n, err = f.RemoteStdout.Read(p); err == io.EOF { // the ssh command has exited, but we need to wait for post-portem to finish f.exitWaitGroup.Wait() - if f.SSHCommandError != nil { - err = f.SSHCommandError - } + err = f.SSHCommandError } return } @@ -153,9 +151,7 @@ func (f *ForkedSSHReadWriteCloser) Write(p []byte) (n int, err error) { if n, err = f.RemoteStdin.Write(p); err == io.EOF { // the ssh command has exited, but we need to wait for post-portem to finish f.exitWaitGroup.Wait() - if f.SSHCommandError != nil { - err = f.SSHCommandError - } + err = f.SSHCommandError } return }