From owner-freebsd-stable@FreeBSD.ORG Mon Jul 15 04:45:26 2013 Return-Path: Delivered-To: freebsd-stable@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 648E51F2 for ; Mon, 15 Jul 2013 04:45:26 +0000 (UTC) (envelope-from eugen@grosbein.net) Received: from eg.sd.rdtc.ru (eg.sd.rdtc.ru [IPv6:2a03:3100:c:13::5]) by mx1.freebsd.org (Postfix) with ESMTP id 16A047F1 for ; Mon, 15 Jul 2013 04:45:24 +0000 (UTC) Received: from eg.sd.rdtc.ru (localhost [127.0.0.1]) by eg.sd.rdtc.ru (8.14.7/8.14.7) with ESMTP id r6F4jLLp021170; Mon, 15 Jul 2013 11:45:21 +0700 (NOVT) (envelope-from eugen@grosbein.net) Message-ID: <51E37E5C.5020301@grosbein.net> Date: Mon, 15 Jul 2013 11:45:16 +0700 From: Eugene Grosbein User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:17.0) Gecko/20130415 Thunderbird/17.0.5 MIME-Version: 1.0 To: Jilles Tjoelker Subject: Re: script(1), cfmakeraw() and Ctrl-Z References: <51E2DC6B.2090605@grosbein.net> <20130714213734.GB30708@stack.nl> In-Reply-To: <20130714213734.GB30708@stack.nl> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: FreeBSD Stable X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 15 Jul 2013 04:45:26 -0000 On 15.07.2013 04:37, Jilles Tjoelker wrote: > 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. Is it possible to achieve same effect of passing other control characters but Ctrl-Z? So, it would be possible suspend long-running portupgrade. Eugene Grosbein