Why terminal cannot send data after ^S was pressed? I have always thought that ^S is used by terminal to tell tty driver that tty driver must not transmit data from application TO terminal (when it is busy processing the display, for example). But it turns out that ^S tells tty driver that output FROM terminal must not be transmitted to application. This is a surprise. Why is that needed?

This was discovered with the following test:

Open xterm or gnome-terminal, type date, then ^S, then ^M (aka enter), then wait a bit, then ^Q. The result is that current date is shown, not date from a bit ago.


You're seeing the effect of an application which is blocked because it cannot echo the data which you're attempting to send to it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.