select, sendto and ENOBUFS

Andrew andrew at ugh.net.au
Mon Feb 9 16:34:28 PST 2004



On Tue, 10 Feb 2004, Andrew wrote:

> I have a problem with sendto returning an error and setting errno to
> ENOBUFS however I am calling select first to make sure the fd is
> writeable (see below for code). s is a raw socket and the data I'm

I see something similar has actually been discussed before and I just
missed it.

http://docs.freebsd.org/cgi/mid.cgi?E1Aice9-0002by-00

The conclusion being that send, sendto and select will never block on a
UDP socket and the man page just doesn't make it too clear. I'm assuming
it is the same for raw sockets.

UNPv1 section 6.3 seems to say that select should work for UDP...Part 2
under "Under What Conditions Is a Descriptor Ready" certainly indicates
that select should work.

Anyway a bug or not, is there a better work around than sleeping? I'm
guessing not...

Thanks,

Andrew



More information about the freebsd-hackers mailing list