Netdev List
 help / color / mirror / Atom feed
* Correct procedure to close an in-kernel TCP socket
@ 2011-04-06 11:55 Martin Lucina
  0 siblings, 0 replies; only message in thread
From: Martin Lucina @ 2011-04-06 11:55 UTC (permalink / raw)
  To: netdev; +Cc: Martin Sustrik

Hi,

We're having some problems with code that uses in-kernel TCP sockets
created with sock_create_kern().

At the moment we are doing this when closing a socket:

	write_lock_bh(&s->sk->sk_callback_lock);
	s->sk->sk_state_change = old_sk_state_change;
	s->sk->sk_data_ready = old_sk_data_ready;
	s->sk->sk_write_space = old_sk_write_space;
	write_unlock_bh(&s->sk->sk_callback_lock);

        /* ... */
	
        sock_release(s);

We then see that at some point in the future our s->sk->sk_state_change
callback is still being called despite the code above restoring the
original values.

Is there something we're doing wrong? 

Thanks,

-mato

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

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

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-06 11:55 Correct procedure to close an in-kernel TCP socket Martin Lucina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox