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 Message-Id: <5.2.0.9.2.20030403163856.0394e758@pop3.cris.com> X-Sender: rrschulz AT pop3 DOT cris DOT com Date: Thu, 03 Apr 2003 16:41:26 -0800 To: cygwin AT cygwin DOT com From: Randall R Schulz Subject: Re: Pipe behavior In-Reply-To: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Steven, At 16:28 2003-04-03, you wrote: >Hello, > >I have a question about pipe behavior. I wrote a simple program that >does a printf, sleeps for 5 seconds and then another printf. If I run >the program with the following way: $ ./simple | cat The output is >delayed until the program finished. I guessed that the pipe is buffered >and doesn't flush until it is closed when the program ends. But then I >ran the same program as an emacs subprocess and attached a buffer to it. >In this scenario the first printf is displayed, 5 seconds pass and then >the second printf is displayed. Emacs also uses pipes so I do not >understand why the behavior is different. Pipes don't buffer in the manner you describe, but the standard I/O library does when its output is directed to a pipe or a plain file. Are you sure that Emacs uses pipes and not ptys (pseudo-ttys)? Which Emacs are you using? Cygwin or Windows? >Thanks >Steven Kilby Randall "We don't need no stinkin' disclaimers" Schulz -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/