X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsserver%2Fterminal-ssh.go;fp=lib%2Fxdsserver%2Fterminal-ssh.go;h=fcef4f9bc54b8e0f0aed843182f6a8508af0e227;hb=f223efc5e5a08764cf9f78fb5f38917ed949407f;hp=c2751739410103094dc6d6c640e13324ecab2542;hpb=8e18650d881cbf3d7016e10442e34096d7cca127;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsserver/terminal-ssh.go b/lib/xdsserver/terminal-ssh.go index c275173..fcef4f9 100644 --- a/lib/xdsserver/terminal-ssh.go +++ b/lib/xdsserver/terminal-ssh.go @@ -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 }