Re: UDP recvmsg blocks after select(), 2.6 bug?

Adam Heath
2004-10-07T10:07:50Z

On Thu, 7 Oct 2004, Martijn Sipkema wrote:

> > > It does not matter - this behaviour should not be depended upon. There are
> > > lots of other reasons why a packet might in fact not be available, kernels
> > > are allowed to drop UDP packets at will.
> >
> > I've been lurking and reading this thread with great interest. I had been
> > leaning towards thinking the kernel was wrong, until I read this email.
> >
> > This is a very excellent point.
>
> No, it isn't. If the kernel drops a UDP packet, select() should not return
> indicating available data.

The kernel can drop a packet after select() returns, and before read() is
called. That's the whole point of *U*DP.