Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Jun 2003 18:16:08 +0400
From:      Yar Tikhiy <yar@FreeBSD.org>
To:        Brian Feldman <green@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/libexec/getty main.c
Message-ID:  <20030614141608.GA48900@comp.chem.msu.su>
In-Reply-To: <200306140826.h5E8QmHt031654@repoman.freebsd.org>
References:  <200306140826.h5E8QmHt031654@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Jun 14, 2003 at 01:26:48AM -0700, Brian Feldman wrote:
> green       2003/06/14 01:26:48 PDT
> 
>   FreeBSD src repository
> 
>   Modified files:
>     libexec/getty        main.c 
>   Log:
>   In the last clean-up of this code, the fact that the default tty mode
>   information could only be gleaned from the the tty descriptor itself
>   was neglected, so never did the tty's default settings get copied from
>   the kernel.  Specifically, this caused all manner of ctrl-keys to not
>   work.  Fix this by calling dogettytab() in all the proper places, and
>   retrieving the terminfo temporarily in dogettytab().

Thank you for fixing my bug before I had time to take a look at it.

However, your fix seems to have at least one drawback.  Consider
the following scenario:  A gettytab(5) entry containing control
character settings is used to initialize a terminal.  Then another
gettytab(5) entry is selected from autobaud() or portselector(),
or through the "nx" capability.  Since the current set of control
characters is read from the terminal driver each time to get the
default values, it will poison the actual defaults.  I think I've
nearly made a fix for this, which will reduce the number of
tcgetattr(3) calls as well.

-- 
Yar



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030614141608.GA48900>