Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Sep 1999 10:57:50 -0400 (EDT)
From:      Zhihui Zhang <zzhang@cs.binghamton.edu>
To:        Alex Povolotsky <tarkhil@asteroid.svib.ru>
Cc:        stable@FreeBSD.ORG, hackers@FreeBSD.ORG
Subject:   Re: Problems with FIFO open in non-blocking mode?
Message-ID:  <Pine.GSO.3.96.990906105500.13356A-100000@sol.cs.binghamton.edu>
In-Reply-To: <199909060547.JAA29146@shuttle.svib.ru>

next in thread | previous in thread | raw e-mail | index | archive | help

On Mon, 6 Sep 1999, Alex Povolotsky wrote:

> Hello!
> 
> The following program
> 
> #include <stdio.h>
> #include <fcntl.h>
> 
> main() {
> 	int control;
> 	if ((control = open("STATUS",O_WRONLY|O_NONBLOCK))<0) {
> 		perror("Could not open STATUS ");
> 		exit(1);
> 	}
> 	printf("STATUS ready\n");
> 	close(control);
> 	return(0);
> }
> 
> fails to run (STATUS is pre-created FIFO file) with error "Device not
> configured", which seems kinda odd for me.
> 
> However, when FIFO is opened with O_RDWR and O_NONBLOCK, every attempt 
> to select(2) its handler for writing doesn't wait until someone opens
> FIFO for reading, but instead FIFO is ready to write at every select.
> 
> Is it a bug or a feature?
> 

I answered a similar question some time ago.  You can search the mailing
list archive for this.  Basically, you need to read the "Advanced Unix
Programming Environment" by Stevens.  I can not remember every details
right now.  The "device not configured" error is expected. 

-Zhihui



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.3.96.990906105500.13356A-100000>