Ville-Pertti Keinonen wrote:
> 
> w...@softweyr.com (Wes Peters) writes:
> 
> >      [ENOBUFS]     Insufficient system buffer space exists to complete the 
> > op-
> >                    eration.
> 
> Do you know what kind of circumstances that error *really* occurs
> under?
> 
> If it happened with files, that would be a bug and should be fixed.
> The call is supposed to block to wait for writes to be possible.  This
> applies to stream sockets in most cases, as well.  Based on a quick
> look at the code, out-of-band TCP data seems to be the only case where
> ENOBUFS might be returned for streams, and that obviously doesn't
> apply to write/writev.

The only way writev can pick up an ENOBUFS error is in the call to
(*fp->f_ops->fo_write)(fp, &auio, fp->f_cred, 0) on line 447 (in -CURRENT).

ENOBUFS can happen on any network object if the system is completely out 
of mbufs, right?  So it could return ENOBUFS for any connected socket 
specified as the fd in a write or writev operation.

-- 
            "Where am I, and what am I doing in this handbasket?"

Wes Peters                                                         Softweyr LLC
http://softweyr.com/                                           w...@softweyr.com


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

Reply via email to