-
Notifications
You must be signed in to change notification settings - Fork 356
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Software Flow Control #1547
Comments
The offending code is here ... irssi/src/fe-text/terminfo-core.c Line 513 in ee4471a
I know real terminals are not in widespread usage, but it's kind of bad to take over a key function (flow control) on a TTY based interface. And yes, I know it has been like this for years ... |
|
Not all terminals have $ infocmp -L -1 vt220 | grep xon_xoff
xon_xoff,
$ infocmp -L -1 xterm-256color | grep xon_xoff Only respecting It's also possible to configure |
Currently,
irssi
intercepts software flow controlXOFF
signal^S
and printsS
, which breaks software flow control.Physical terminals like the VT220 send
XOFF
when in settings mode or after having received some fixed character sequence, and thenXON
after having processed that batch. The VT220 specifically expectsXOFF
to halt the flow of incoming characters, and if it receives an additional character it will sendXOFF
again -- sinceirssi
treats^S
asS
, this leads to an infinite loop which will stall commands liketmux attach
ifirssi
is the active window (and forces a hard reset of the terminal) or leads to long sequences ofS
in the prompt after having entered and exited settings. Software flow control must be used if hardware flow control is unavailable.A similar problem occurs over
telnet
when software flow control is in use.As discussed on IRC, since
irssi
is single-threaded,XOFF
may result in dropped connections. In practice,^S
/XOFF
is usually sent to slow down the incoming flow of characters and is soon followed by^Q
/XON
.The text was updated successfully, but these errors were encountered: