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
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to