cvs commit: src/tools/regression/fifo/fifo_open Makefile fifo_open.c

Robert Watson rwatson at
Mon Sep 12 13:20:05 PDT 2005

On Mon, 12 Sep 2005, John-Mark Gurney wrote:

> Robert Watson wrote this message on Sun, Sep 11, 2005 at 13:03 +0000:
>> rwatson     2005-09-11 13:03:36 UTC
>>   FreeBSD src repository
>>   Added files:
>>     tools/regression/fifo/fifo_open Makefile fifo_open.c
>>   Log:
>>   Add fifo_open, a basic regression test for opening fifos, which tests
>>   the blocking and non-blocking forms of open based on the POSIX spec for
>>   now O_NONBLOCK should be handled.
> I assume we aren't going to follow the useless POSIX spec for handling 
> O_NONBLOCK'ing reads wrt select and friends?  If you're interested in a 
> basic test case, I can send you one...
> (That selecting on a fifo for read that doesn't have a writer will 
> return true, due to the fact that EOF is available for reading on a 
> O_NONBLOCK fifo.)

Right now I haven't implemented tests for select/poll/kqueue that involve 
activity on a fifo where only one endpoint is open.  I largely implemented 
these regression tests so I could try to avoid breaking fifos when fixing 
a race condition that Kris and others have been running into.  Along the 
way, I ran into a lot of bugs that had to be fixed before I could run the 
tests successfully :-).  I'm going to work on the race itself now and 
revisit further testing of half-open fifos in the future (there are some 
XXX's in the test code to indicate some of the uncovered cases I'm aware 

Robert N M Watson

More information about the cvs-src mailing list