[Asterisk-Dev] EAGAIN - recvfrom - bad udp checksum

Peter Svensson psvasterisk at psv.nu
Wed Nov 3 00:45:25 MST 2004


On Wed, 3 Nov 2004, Olle E. Johansson wrote:

> Well, but not from a FreeBSD angle. So it seems that this error message,
> based on this and earlier discussions, only applies to Linux. Thank
> you all for the responses.

It could also indicate an interrupted syscall in Linux. All it is really 
claiming (on any architecture) is that no data was read. Linux checks the 
checksum at a late stage, thus making the packet disappear during the 
read and returning EAGAIN. Other operating systems checks it earlier and 
discards the packet without any effects noticable to userland.

In Linux EAGAIN from an udp read in a program without signals or where the
read syscall on udp is restartable then EAGAIN may be taken as an
indication of an udp packet with a broken checksum.

Does that sum it up properly?

Peter




More information about the asterisk-dev mailing list