skb_recv_datagram blocks forever!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux