From c5d03f3dcae1ac6203e6323714fde3fe4bca3f0b Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Thu, 9 Nov 2000 02:03:33 +0000 Subject: * select.cc (peek_pipe): Deal with pending newline in pty_master. --- winsup/cygwin/select.cc | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'winsup/cygwin/select.cc') diff --git a/winsup/cygwin/select.cc b/winsup/cygwin/select.cc index bcaf4a467..83312714b 100644 --- a/winsup/cygwin/select.cc +++ b/winsup/cygwin/select.cc @@ -418,12 +418,23 @@ peek_pipe (select_record *s, int ignra) goto out; } - if (!ignra && fh->get_device () != FH_PTYM && fh->get_device () != FH_TTYM && - fh->get_readahead_valid ()) + switch (fh->get_device ()) { - select_printf ("readahead"); - gotone = s->read_ready = 1; - goto out; + case FH_PTYM: + case FH_TTYM: + if (((fhandler_pty_master *)fh)->need_nl) + { + gotone = s->read_ready = 1; + goto out; + } + break; + default: + if (!ignra && fh->get_readahead_valid ()) + { + select_printf ("readahead"); + gotone = s->read_ready = 1; + goto out; + } } } -- cgit v1.2.3