aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--winsup/cygwin/fhandler_tty.cc6
2 files changed, 12 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 0f3da18..a226b2e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2002-12-26 Christopher Faylor <cgf@redhat.com>
+
+ * fhandler_tty.cc (fhandler_tty_master::init): Set initial size of tty
+ to that of console in which tty is operating.
+ (process_input): Semi-revert previous change. Need to just use current
+ terminfo settings since this function is running in a thread, blocked
+ when the terminfo changes.
+
2002-12-24 Andreas Schwab <schwab@suse.de>
* Makefile.tpl (multilib.out): Fix missing space.
diff --git a/winsup/cygwin/fhandler_tty.cc b/winsup/cygwin/fhandler_tty.cc
index 45afbca..fd0789b 100644
--- a/winsup/cygwin/fhandler_tty.cc
+++ b/winsup/cygwin/fhandler_tty.cc
@@ -54,6 +54,9 @@ fhandler_tty_master::init (int ntty)
termios ti;
memset (&ti, 0, sizeof (ti));
console->tcsetattr (0, &ti);
+ winsize w;
+ console->ioctl (TIOCGWINSZ, &w);
+ this->ioctl (TIOCSWINSZ, &w);
ttynum = ntty;
@@ -198,9 +201,8 @@ process_input (void *)
while (1)
{
size_t nraw = INP_BUFFER_SIZE;
- termios ti = tty_master->get_ttyp ()->ti;
tty_master->console->read ((void *) rawbuf, nraw);
- (void) tty_master->line_edit (rawbuf, nraw, ti);
+ (void) tty_master->line_edit (rawbuf, nraw, tty_master->get_ttyp ()->ti);
}
}