svn commit: r198781 - head/lib/libc/sys

Max Laier max at
Mon Nov 2 18:55:05 UTC 2009

On Monday 02 November 2009 19:20:19 Colin Percival wrote:
> 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

+1 ... FreeBSD is such a great development platform specifically because of 
the complete man page collection.  I'd argue, however, that we should keep the 
portability notes to the fact that there might be a difference - without going 
into too much detail what/where and why that difference is.  In addition, the 
more detail we add, the more likely it is that the information grows stale as 
others realize that they should follow our lead ;)

> 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.

/"\  Best regards,                      | mlaier at
\ /  Max Laier                          | ICQ #67774661
 X  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News

More information about the svn-src-head mailing list