Hi all:
when calling skb_recv_datagram and choose it to be blocking (for a
timeout period) it blocks and never wake up even if a packet has arrived
to kernel
the packet has arrived from user space for sure .. cause the call back
function i've registered while creating the socket is called every time
i send a packet from user space
i tried to call (wake_up_interruptible(sock->sk_sleep)) when a new
packet has arrived (in the callback function) but no use .. the
skb_recv_datagram is still blocking ?
i've googled for this problem and i've found nothing but many people
having the same problem and many replies just saying "don't call
skb_recv_datagram" and after reading the source for both
skb_recv_datagram and wake_up_interruptible .. nothing seems incorrect
does a signal issued cause of arrival of a new packet or from calling
"wake_up_interruptible" expected to wake up the caller of
skb_recv_datagram or i'm missing something ?
P.S ofcource i'm calling "skb_recv_datagram" from different functions
than the callback one
Thanks
MHD
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive: http://mail.nl.linux.org/kernelnewbies/
FAQ: http://kernelnewbies.org/faq/