All of lore.kernel.org
 help / color / mirror / Atom feed
* Checking for closed TCP connection in kernel space
@ 2011-01-04 15:16 Martin Sustrik
  0 siblings, 0 replies; only message in thread
From: Martin Sustrik @ 2011-01-04 15:16 UTC (permalink / raw)
  To: netdev

Hi all,

I open a TCP socket in the kernel space (sock_create_kern). I connect or 
bind it, I send and receive data. Everything works as expected.

The problem is how to find out that the peer have closed the connection.

In user space you get 0 when calling recv() is such case. However, in 
kernel space kernel_recvmsg seems to return 0 anytime when there are no 
more data available. It doesn't return an error either.

Should I monitor the socket state using sk_state_change callback? But 
the callback seems to work in async manner, i.e. I can accidentally use 
closed socket before I get notified about the state change.

Any ideas?
Martin

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2011-01-04 15:15 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-04 15:16 Checking for closed TCP connection in kernel space Martin Sustrik

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.