sleeping on a socket

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

 



hi,
i need to sleep on a socket and wait for incoming connections.
what i do is this:

struct socket *Socket;

[... socket, bind, listen stuff ]

[ do a non blocking accept ]
interruptible_sleep_on_timeout(Socket->sk->sleep, timeout);
[ retry accept ]

the problem is that no matter what happens on the socket, my thread 
is woken up only after timeout. note that the timeout is needed for
other purposes than accepting connections.
the result is that my response time is "timeout" jiffies.

i've also tried the khttpd technique (main.c, function MainDaemon) but 
i found that it has the same problem. the thread is woken up only
after timeout.

any ideas?
-
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/


[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