Posted Jun 1, 2009 16:53 UTC (Mon) by butlerm (subscriber, #13312)
Parent article: In brief
sendmmsg and recvmmsg are outstanding extensions to the the kernel API.
There are numerous UDP style protocols that would benefit significantly from
this.
Posted Mar 8, 2010 17:47 UTC (Mon) by 4utomat (guest, #61249)
[Link]
Has anyone got recvmmsg to work?
On 2.6.33, the example above fails with errno=14 (Bad Address)
Has anyone got recvmmsg to work
Posted Mar 21, 2012 23:29 UTC (Wed) by gutschke (subscriber, #27910)
[Link]
Looking at the kernel sources, it appears that the final version of this system call includes a timeout parameter. If you don't pass this parameter, chances are that it gets set to a random value pointing to invalid memory. That probably explains why you get an EFAULT no matter what you pass in the other parameters.
If you don't want to specify a timeout, just pass NULL as an additional parameter. That should fix your program.