in src/sessionmanagerplugin/session/shellsession/shellsession.go [83:96]
func (s *ShellSession) handleControlSignals(log log.T) {
go func() {
signals := make(chan os.Signal, 1)
signal.Notify(signals, sessionutil.ControlSignals...)
for {
sig := <-signals
if b, ok := sessionutil.SignalsByteMap[sig]; ok {
if err := s.DataChannel.SendInputDataMessage(log, message.Output, []byte{b}); err != nil {
log.Errorf("Failed to send control signals: %v", err)
}
}
}
}()
}