> On Thu, Apr 16, 2015 at 09:19:13AM -0400, William Orr wrote:
> > This documents the error code when passing multiple cmsg structs. Let me
> > know if the wording needs to be improved.
> > 
> > Index: lib/libc/sys/send.2
> > ===================================================================
> > RCS file: /cvs/src/lib/libc/sys/send.2,v
> > retrieving revision 1.31
> > diff -u -p -r1.31 send.2
> > --- lib/libc/sys/send.2     9 Sep 2014 06:32:37 -0000       1.31
> > +++ lib/libc/sys/send.2     16 Apr 2015 12:48:32 -0000
> > @@ -223,6 +223,17 @@ values in the
> >  .Fa msg_iov
> >  array overflowed an
> >  .Em ssize_t .
> > +.It Bq Er EINVAL
> > +The socket
> > +.Fa s
> > +is a
> > +.Xr unix 4
> > +socket, and
> > +.Em controlmsg
> > +is an invalid size or multiple
> > +.Em controlmsg
> > +structures were passed as part of
> > +.Fa msg .
> >  .It Bq Er EMSGSIZE
> >  The
> >  .Fa msg_iovlen
> > 
> 
> anyone want to take this? it's fine by me, if someone can verify its
> accuracy.

It seems we cannot exhaustively document the scenarios that lead to
certain errnos being returned (in particular, EAGAIN and EINVAL).

Overdocumentation leads to reader fatigue; reader fatigue leads to
the documentation being ignored.

I think it is clearly understood that controlmsg layout is complex,
and there are many illegal layouts, even non-portable ones at that.
This is a complex space, under-documented perhaps?  In any case all
those details are missing from this manual page.  So it seems
completely wrong to document just this one narrow detail.

So I don't think the proposed diff improves the manual page.

Reply via email to