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>