script(1), cfmakeraw() and Ctrl-Z

Jilles Tjoelker jilles at stack.nl
Sun Jul 14 21:37:35 UTC 2013


On Mon, Jul 15, 2013 at 12:14:19AM +0700, Eugene Grosbein wrote:
> I've noted that commands like "script -qa /tmp/log sleep 100"
> cannot be suspended with Ctrl-Z keys. The reason is call to cfmakeraw()
> in script.c - if I comment it out, Ctrl-Z starts to work as expected.

> portupgrade uses script(1) so build/install process cannot be suspended too.
> (I'm building libreoffice-4.04 now)

> The function cfmakeraw() is used since CVS revision 1.1 when script
> was imported with other "BSD 4.4 Lite Usr.bin Sources".

> Is cfmakeraw() really needed?

The cfmakeraw() call ensures that the processes running within script
get all control characters. For example, you can suspend a job in the
inner shell using Ctrl+Z. This indeed makes it impossible to suspend
script itself.

-- 
Jilles Tjoelker


More information about the freebsd-stable mailing list