select-like implementation for kernel sockets
I'm using kernel sockets to Tx and Rx UDP packets between my hardware
device (DSP) to the external network (this is part of a VoIP
implementation). The motivation for using kernel sockets rather than
user-space sockets is to avoid the copying of data between kernel and
I have no problems on the Tx side (I simply call sock_sendmsg on one
of the sockets), but for the Rx side I want to listen-in on multiple
sockets in blocking mode (I don't want to use polling).
Is there a way to listen-in on multiple kernel sockets from one kernel
thread? In the user space I would have used select(), but I am not
familiar with a similar solution for the kernel space.