Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Tue, 16 Sep 2003 16:04:00 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: setvbuf/setlinebuf issue Message-ID: <20030916200400.GI23057@redhat.com> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20030916191331 DOT 85685 DOT qmail AT web40017 DOT mail DOT yahoo DOT com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20030916191331.85685.qmail@web40017.mail.yahoo.com> User-Agent: Mutt/1.4.1i Note-from-DJ: This may be spam On Tue, Sep 16, 2003 at 12:13:31PM -0700, Jan Jaeger wrote: >We have always used setvbuf(stdout, NULL, _IOLBF, 0) to ensure that >each line is read by the logger as it is written. > >However this has now stopped working in the current release of cygwin, >adding a fflush() after every printf() bypasses the error, but at the >moment setvbuf does not seem to work correctly for us. Do you have a simple test case which demonstrates this? I wrote the below and piped it into cat and it works as expected. "foo" is printed, there is a five second pause, and "bar is printed. cgf #include int main (int argc, char **argv) { setvbuf(stdout, NULL, _IOLBF, 0); printf ("foo\n"); sleep (5); printf ("bar"); } -- Please use the resources at cygwin.com rather than sending personal email. Special for spam email harvesters: send email to aaaspam AT sourceware DOT org and be permanently blocked from mailing lists at sources.redhat.com -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/