> > > :>      [ENOBUFS]     Insufficient system buffer space exists to complete 
> > > the op-
> > > :>                    eration.
> > > :
> > > :Do you know what kind of circumstances that error *really* occurs
> > > :under?
> > 
> > So you can get ENOBUFS not related to mbufs for UDP/local datagram
> > sockets, but you should never get ENOBUFS from write for TCP sockets
> > or local stream sockets.
> 
> So, do you want to enumerate the cases in which this error can occur in the
> man page?  This is not generally done, now that we have verified it is
> possible for the system to generate ENOBUFS on a writev.  I think the text
> stands as it is.

It should probably mention that it doesn't occur for most files (or
that it only occurs for datagram sockets - although it probably
applies to some types of raw sockets, too, and possibly
non-PF_INET/PF_UNIX sockets) to avoid people doing unnecessary
checking or implementing kernel code that bails out when it shouldn't.

It should be a fair requirement that the kernel continue to never fail
with ENOBUFS for a write to a reliable stream (local file, fifo, pipe
or stream socket) and that such cases be treated as bugs.  I would
assume that this corresponds to how other systems operate, as well.
Of course I'm no authority on this, and I'm not sure about NFS writes.


To Unsubscribe: send mail to majord...@freebsd.org
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to