Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Dec 2002 20:27:34 -0800
From:      Alfred Perlstein <bright@mu.org>
To:        arch@freebsd.org
Cc:        bde@freebsd.org
Subject:   Re: pipes and FIONBIO breakage?
Message-ID:  <20021221042734.GL23663@elvis.mu.org>
In-Reply-To: <20021221023707.GK23663@elvis.mu.org>
References:  <20021221023707.GK23663@elvis.mu.org>

next in thread | previous in thread | raw e-mail | index | archive | help
* Alfred Perlstein <bright@mu.org> [021220 18:37] wrote:
> I noticed that the ioctl handler for pipes doesn't do anything for
> FIONBIO requests, this is in contrast to the socket handling of
> FIONBIO requests which sets the SS_NBIO flag in the socket structure.

Well the road to hell...

It actually appears that this is a non-issue for pipe versus sockets.
This is because dup does a shallow copy of struct file.  This _would_
have been a problem for fifo's, however that code seems to duplicate
the pipe code somewhat.

There does appear to be an issue where the fifo code temporarity
ORs in the non-block state of the struct file into the socket behind
it when performing reads and writes.  This might cause someone else
to block when multiple people open a fifo because of races.

I'll wait for the caffeine levels to drop a bit before getting too
worried about it though.

-- 
-Alfred Perlstein [alfred@freebsd.org]

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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021221042734.GL23663>