diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 7b7843f93..90424c834 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,7 @@ +Wed Nov 8 21:00:31 2000 Christopher Faylor + + * select.cc (peek_pipe): Deal with pending newline in pty_master. + Wed Nov 8 15:35:32 2000 Christopher Faylor * environ.cc (_addenv): malloc space for setenv if cygwin1.dll is used 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; + } } }