cvs commit: src/libexec/getty main.c

Yar Tikhiy yar at FreeBSD.org
Sat Jun 14 07:16:21 PDT 2003


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


More information about the cvs-src mailing list