static void udp_close(struct sock *sk, unsigned long timeout)
{
lock_sock(sk);
sk->state = TCP_CLOSE;
{
int i;
for (i = 0; i < 10; i++) {
printk ("udp_close %d: %d %d\n", i, sk->rmem_alloc,
sk->wmem_alloc);
}
}
then sk->wmem_alloc will magically be set to 0 after one or more times
through the loop. Looks like some sort of timer race condition thing.
Which still doesn't explain why I can't connect to samba from my NT
machine with kernels that print the "Socket delay destroyed" message.
Tom.