delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2000/02/18/08:45:47

Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT sourceware DOT cygnus DOT com>
List-Archive: <http://sourceware.cygnus.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT sourceware DOT cygnus DOT com>
List-Help: <mailto:cygwin-developers-help AT sourceware DOT cygnus DOT com>, <http://sourceware.cygnus.com/ml/#faqs>
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" <EFifer AT sanwaint DOT com>
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)

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 <efifer AT sanwaint DOT com>
+
+       * 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 <efifer AT sanwaint DOT com>
+
+       * 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 <efifer AT sanwaint DOT com>=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 <fnasser AT redhat DOT com>=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 <efifer AT sanwaint DOT com>=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 <cgf AT cygnus DOT com>=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--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019