svn commit: r199998 - head/sys/kern
Ed Schouten
ed at FreeBSD.org
Tue Dec 1 19:14:57 UTC 2009
Author: ed
Date: Tue Dec 1 19:14:57 2009
New Revision: 199998
URL: http://svn.freebsd.org/changeset/base/199998
Log:
Don't allocate an input buffer for a TTY when the receiver is turned off.
When the termios CREAD flag is not set, it makes little sense to
allocate an input buffer. Just set the size to 0 in this case to reduce
memory footprint.
Disallow CREAD to be disabled for pseudo-devices to prevent
foot-shooting.
Modified:
head/sys/kern/tty.c
Modified: head/sys/kern/tty.c
==============================================================================
--- head/sys/kern/tty.c Tue Dec 1 17:29:25 2009 (r199997)
+++ head/sys/kern/tty.c Tue Dec 1 19:14:57 2009 (r199998)
@@ -102,10 +102,11 @@ static const char *dev_console_filename;
static void
tty_watermarks(struct tty *tp)
{
- size_t bs;
+ size_t bs = 0;
/* Provide an input buffer for 0.2 seconds of data. */
- bs = MIN(tp->t_termios.c_ispeed / 5, TTYBUF_MAX);
+ if (tp->t_termios.c_cflag & CREAD)
+ bs = MIN(tp->t_termios.c_ispeed / 5, TTYBUF_MAX);
ttyinq_setsize(&tp->t_inq, tp, bs);
/* Set low watermark at 10% (when 90% is available). */
@@ -890,6 +891,7 @@ ttydevsw_defparam(struct tty *tp, struct
t->c_ospeed = B50;
else if (t->c_ospeed > B115200)
t->c_ospeed = B115200;
+ t->c_cflag |= CREAD;
return (0);
}
More information about the svn-src-all
mailing list