fflush(NULL) clobbers input streams

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Jul 18 09:55:00 GMT 2017


On Jul 17 19:53, Achim Gratz wrote:
> 
> Perl configure for 5.22.1 on Cygwin 2.4.0 said this:
> 
> --8<---------------cut here---------------start------------->8---
> Checking how to flush all pending stdio output...
> Your fflush(NULL) works okay for output streams.
> Let's see if it clobbers input pipes...
> fflush(NULL) seems to behave okay with input streams.
> --8<---------------cut here---------------end--------------->8---
> 
> I'm reasonably certain that the intervening Perl versions were also this
> way, but I didn't keep the log files around unfortunately.
> 
> Now, using Cygwin 2.8.x to configure Perl 5.22.4 I got this instead:
> 
> --8<---------------cut here---------------start------------->8---
> Checking how to flush all pending stdio output...
> Your fflush(NULL) works okay for output streams.
> Let's see if it clobbers input pipes...
> Ouch, fflush(NULL) clobbers input pipes!  We will not use it.
> Good, at least fflush(stdin) seems to behave okay when stdin is a pipe.
> Sigh. Flushing explicitly all the stdio streams doesn't work.
> --8<---------------cut here---------------end--------------->8---
> 
> It seems that fflush is only supposed to discard buffered input data on
> seekable files, but not pipes (per POSIX.1-2008), so this looks a
> regression to me.

Did you try to bisect the issue?


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20170718/8da28ca5/attachment.sig>


More information about the Cygwin-apps mailing list