// 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
}
t.termCfg.Rows = rows
}
+ t.LogSillyf("Terminal resize id=%v, cols=%v, rows=%v", t.termCfg.ID, cols, rows)
+
err := t.sshWS.TerminalSetSize(t.termCfg.Rows, t.termCfg.Cols)
if err != nil {
t.Log.Errorf("Error ssh TerminalSetSize: %v", err)