Mail Archives: cygwin-developers/2000/02/18/08:45:47
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 -