Date: Mon, 12 Sep 2005 21:20:03 +0100 (BST) From: Robert Watson <rwatson@FreeBSD.org> To: John-Mark Gurney <gurney_j@resnet.uoregon.edu> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/tools/regression/fifo/fifo_open Makefile fifo_open.c Message-ID: <20050912211820.W96771@fledge.watson.org> In-Reply-To: <20050912201136.GK793@funkthat.com> References: <200509111303.j8BD3bTK042313@repoman.freebsd.org> <20050912201136.GK793@funkthat.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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 of). Robert N M Watson
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050912211820.W96771>