forked from TrueCloudLab/restic
sftp: persist "ssh command exited" error
If our ssh process has died, not only the next, but all subsequent calls to clientError() should indicate the error. restic output when the ssh process is killed with "kill -9": Save(<data/afb68adbf9>) returned error, retrying after 253.661803ms: Write: failed to send packet header: write |1: file already closed Save(<data/afb68adbf9>) returned error, retrying after 580.752212ms: ssh command exited: signal: killed Save(<data/afb68adbf9>) returned error, retrying after 790.150468ms: ssh command exited: signal: killed Save(<data/afb68adbf9>) returned error, retrying after 1.769595051s: ssh command exited: signal: killed [...] error in cleanup handler: ssh command exited: signal: killed Before this patch: Save(<data/de698d934f>) returned error, retrying after 252.84163ms: Write: failed to send packet header: write |1: file already closed Save(<data/de698d934f>) returned error, retrying after 660.236963ms: OpenFile: failed to send packet header: write |1: file already closed Save(<data/de698d934f>) returned error, retrying after 568.049909ms: OpenFile: failed to send packet header: write |1: file already closed Save(<data/de698d934f>) returned error, retrying after 2.428813824s: OpenFile: failed to send packet header: write |1: file already closed [...] error in cleanup handler: failed to send packet header: write |1: file already closed
This commit is contained in:
parent
185b60c22b
commit
dd3b9910ee
1 changed files with 3 additions and 1 deletions
|
@ -75,7 +75,9 @@ func startClient(program string, args ...string) (*SFTP, error) {
|
|||
go func() {
|
||||
err := cmd.Wait()
|
||||
debug.Log("ssh command exited, err %v", err)
|
||||
ch <- errors.Wrap(err, "cmd.Wait")
|
||||
for {
|
||||
ch <- errors.Wrap(err, "ssh command exited")
|
||||
}
|
||||
}()
|
||||
|
||||
// open the SFTP session
|
||||
|
|
Loading…
Reference in a new issue