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