OSDN Git Service

* select.cc (peek_pipe): Deal with pending newline in pty_master.
authorcgf <cgf>
Thu, 9 Nov 2000 02:03:33 +0000 (02:03 +0000)
committercgf <cgf>
Thu, 9 Nov 2000 02:03:33 +0000 (02:03 +0000)
winsup/cygwin/ChangeLog
winsup/cygwin/select.cc

index 7b7843f..90424c8 100644 (file)
@@ -1,3 +1,7 @@
+Wed Nov  8 21:00:31 2000  Christopher Faylor <cgf@cygnus.com>
+
+       * select.cc (peek_pipe): Deal with pending newline in pty_master.
+
 Wed Nov  8 15:35:32 2000  Christopher Faylor <cgf@cygnus.com>
 
        * environ.cc (_addenv): malloc space for setenv if cygwin1.dll is used
index bcaf4a4..8331271 100644 (file)
@@ -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;
+           }
        }
     }