Date: Mon, 02 Nov 2009 10:20:19 -0800 From: Colin Percival <cperciva@freebsd.org> To: Robert Watson <rwatson@FreeBSD.org> Cc: svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org Subject: Re: svn commit: r198781 - head/lib/libc/sys Message-ID: <4AEF22E3.5070701@freebsd.org> In-Reply-To: <alpine.BSF.2.00.0911021455080.37561@fledge.watson.org> References: <200911020721.nA27LDq1048764@svn.freebsd.org> <alpine.BSF.2.00.0911021455080.37561@fledge.watson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Robert Watson wrote: > On Mon, 2 Nov 2009, Colin Percival wrote: >> Attempt to reduce accidental foot-shooting by pointing out that >> accept(2)ed sockets do not necessarily inherit O_NONBLOCK from >> listening sockets on non-FreeBSD platforms. > > I wonder how much trouble we should go to to document bugs in other > systems as non-portabilities for features that work in our system. I don't think there's any simple rule to apply here except "use common sense". One can argue that FreeBSD man pages exist for the purpose of documenting FreeBSD; but I'd also like to think that FreeBSD is a good development platform for writing portable applications, so alerting our users to potentially non-portable code certainly has some value. (And there are many other examples of "portable programs should not..." in our man pages, not just the one I added.) The non-portability I just documented was a particularly obnoxious one, since in event-driven code it can go unnoticed for a long time -- as I just recently discovered. > I think a more general caution for accept(2) might instead be: > > BUGS > The inheritence of socket options from a listen socket to a newly > accepted socket is inconsistent across protocols, and non-portable. I was originally going to write it that way, but when I looked at the existing text I saw that it only mentioned inheriting O_NONBLOCK and said nothing about other options -- so I figured that it was appropriate to follow suit and only mention O_NONBLOCK in saying what was non-portable. -- Colin Percival Security Officer, FreeBSD | freebsd.org | The power to serve Founder / author, Tarsnap | tarsnap.com | Online backups for the truly paranoid
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AEF22E3.5070701>