delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2002/08/02/09:17:44

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
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: <F536EC3453B2D411AD6100508BAF5F9901FAB495@bwga521a.ts.siemens.de>
From: Kandziora Jan <jan DOT kandziora AT siemens DOT com>
To: "'cygwin AT cygwin DOT com'" <cygwin AT cygwin DOT com>
Subject: More on pipes and O_NONBLOCK
Date: Fri, 2 Aug 2002 15:17:23 +0200
MIME-Version: 1.0

Hi all,

It's been a while since I tried to use a cygwin pipe with nonblocking
operation.
I tried it with

	if (fcntl(0,F_SETFL,O_NONBLOCK)<0)
	{
		perror("input stream can not be set to nonblocking mode");
		exit(EXIT_FAILURE);
	}
	if (fcntl(1,F_SETFL,O_NONBLOCK)<0)
	{
		perror("output stream can not be set to nonblocking mode");
		exit(EXIT_FAILURE);
	}

It worked for reading from a piped stdin, but not for writing, although the
code
snipped above reported no error. Instead, the write on a piped stdout
blocked after
writing 12288 Bytes.

Now I read in a Win32 API Book that WIN32 APIs WriteFile() to any pipe is
always blocking. - Huh? -

If that's true, and Cygwin uses WIN32 API for Pipes, the second fcntl() has
to fail if the
descriptor belongs to a pipe, hasn't it? At least that behaviour should be
noted somewhere,
maybe in the "Implementation Details" section in the Cygwin API
Documentation.

What do you think?

	Jan

--
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/

- Raw text -


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