X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsserver%2Fterminal-ssh.go;h=89a8b40b9d88ef0f706496d79424613630407d7e;hb=5dc2ff003106f0ced38caadb06033f24c792f9b9;hp=c2751739410103094dc6d6c640e13324ecab2542;hpb=08095aa9a0d7b9b7636cdf36a5a5b6df2592bc05;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsserver/terminal-ssh.go b/lib/xdsserver/terminal-ssh.go index c275173..89a8b40 100644 --- a/lib/xdsserver/terminal-ssh.go +++ b/lib/xdsserver/terminal-ssh.go @@ -22,8 +22,8 @@ import ( "strings" "time" - "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/golib/eows" - "gerrit.automotivelinux.org/gerrit/src/xds/xds-server/lib/xsapiv1" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git/eows" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-server.git/lib/xsapiv1" socketio "github.com/googollee/go-socket.io" uuid "github.com/satori/go.uuid" ) @@ -223,13 +223,15 @@ func (t *TermSSH) Open(sock *socketio.Socket, sessID string) (*xsapiv1.TerminalC // Close a terminal func (t *TermSSH) Close() (*xsapiv1.TerminalConfig, error) { - // nothing to do when not open - if t.termCfg.Status != xsapiv1.StatusTermOpen { + // nothing to do when not open or closing + if !(t.termCfg.Status == xsapiv1.StatusTermOpen || t.termCfg.Status == xsapiv1.StatusTermClosing) { return &t.termCfg, nil } err := t.sshWS.Signal("SIGTERM") + t.termCfg.Status = xsapiv1.StatusTermClosing + return &t.termCfg, err }