Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Message-ID: <779F20BCCE5AD31186A50008C75D99791716DB@SILLDN_MAIL1> From: "Fifer, Eric" To: cygwin-developers AT sourceware DOT cygnus DOT com Subject: some bug fixes Date: Fri, 18 Feb 2000 13:48:35 -0000 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2448.0) Content-Type: multipart/mixed; boundary="----_=_NextPart_000_01BF7A17.29F6C39C" This message is in MIME format. Since your mail reader does not understand this format, some or all of this message may not be legible. ------_=_NextPart_000_01BF7A17.29F6C39C Content-Type: text/plain; charset="iso-8859-1" These diffs are against the Feb-4 snapshot (more recents snapshots don't seem to be working for me) ... +++ newlib/ChangeLog Fri Feb 18 13:31:18 2000 @@ -1,3 +1,9 @@ +Fri Feb 18 13:25:59 2000 Eric Fifer + + * libc/stdio/findfp.c (__sinit): stdout should be fully + buffered by default, code in makebuf.c (__smakebuf) already + asserts line buffering on tty devices. +++ winsup/cygwin/ChangeLog Fri Feb 18 13:25:02 2000 @@ -1,3 +1,10 @@ +Fri Feb 18 13:13:52 2000 Eric Fifer + + * exceptions.cc (set_process_mask): flush pending signals + freed by sigmask change. + * select.cc (peek_pipe): ignore failure of PeekNamedPipe + when except_selected on write end of a pipe. ------_=_NextPart_000_01BF7A17.29F6C39C Content-Type: application/octet-stream; name="cygwin.patch" Content-Transfer-Encoding: quoted-printable Content-Disposition: attachment; filename="cygwin.patch" diff -ur newlib.orig/ChangeLog newlib/ChangeLog=0A= --- newlib.orig/ChangeLog Tue Feb 01 04:58:58 2000=0A= +++ newlib/ChangeLog Fri Feb 18 13:31:18 2000=0A= @@ -1,3 +1,9 @@=0A= +Fri Feb 18 13:25:59 2000 Eric Fifer =0A= +=0A= + * libc/stdio/findfp.c (__sinit): stdout should be fully=0A= + buffered by default, code in makebuf.c (__smakebuf) already=0A= + asserts line buffering on tty devices.=0A= +=0A= Thu Jan 20 18:57:00 2000 Fernando Nasser =0A= =0A= * setvbuf.c (setvbuf): Set size to BUFSIZ when passed a zero size=0A= diff -ur newlib.orig/libc/stdio/findfp.c newlib/libc/stdio/findfp.c=0A= --- newlib.orig/libc/stdio/findfp.c Fri Aug 27 23:15:06 1999=0A= +++ newlib/libc/stdio/findfp.c Fri Feb 18 10:23:52 2000=0A= @@ -144,7 +144,7 @@=0A= s->__sdidinit =3D 1;=0A= =0A= std (s->__sf + 0, __SRD, 0, s);=0A= - std (s->__sf + 1, __SWR | __SLBF, 1, s);=0A= + std (s->__sf + 1, __SWR, 1, s);=0A= std (s->__sf + 2, __SWR | __SNBF, 2, s);=0A= =0A= s->__sglue._next =3D NULL;=0A= diff -ur winsup.orig/cygwin/ChangeLog winsup/cygwin/ChangeLog=0A= --- winsup.orig/cygwin/ChangeLog Sat Feb 05 05:32:30 2000=0A= +++ winsup/cygwin/ChangeLog Fri Feb 18 13:25:02 2000=0A= @@ -1,3 +1,10 @@=0A= +Fri Feb 18 13:13:52 2000 Eric Fifer =0A= +=0A= + * exceptions.cc (set_process_mask): flush pending signals=0A= + freed by sigmask change.=0A= + * select.cc (peek_pipe): ignore failure of PeekNamedPipe=0A= + when except_selected on write end of a pipe.=0A= +=0A= Sat Feb 5 00:26:01 2000 Christopher Faylor =0A= =0A= Throughout, rename global_signal_arrived to signal_arrived.=0A= diff -ur winsup.orig/cygwin/exceptions.cc = winsup/cygwin/exceptions.cc=0A= --- winsup.orig/cygwin/exceptions.cc Sat Feb 05 05:32:31 2000=0A= +++ winsup/cygwin/exceptions.cc Fri Feb 18 13:20:03 2000=0A= @@ -798,6 +798,16 @@=0A= sigproc_printf ("old mask =3D %x, new mask =3D %x", = myself->getsigmask (), newmask);=0A= myself->setsigmask (newmask); // Set a new mask=0A= mask_sync->release ();=0A= + // flush any pending signals unblocked by mask change=0A= + for (int sig =3D 1; sig < NSIG; sig++)=0A= + {=0A= + if (*myself->getsigtodo(sig) &&=0A= + !sigismember (& myself->getsigmask (), sig))=0A= + {=0A= + sig_send(myself, __SIGFLUSH);=0A= + break;=0A= + }=0A= + }=0A= return;=0A= }=0A= =0A= --- winsup.orig/cygwin/select.cc Sat Feb 05 05:32:33 2000=0A= +++ winsup/cygwin/select.cc Fri Feb 18 10:24:56 2000=0A= @@ -429,7 +429,8 @@=0A= n =3D -1;=0A= }=0A= =0A= - if (n < 0)=0A= + // if fh is /dev/pipew PeekNamedPipe fails with access denied=0A= + if (n < 0 && strcmp (fh->get_name(), "/dev/pipew") !=3D 0)=0A= {=0A= select_printf ("%s, n %d", fh->get_name (), n);=0A= if (s->except_selected)=0A= ------_=_NextPart_000_01BF7A17.29F6C39C--