More envelope info on "Socket destroy delayed"

Tom May (
Mon, 27 May 1996 16:53:56 -0700

On my machine I'm getting the error when destroy_sock() is called from
udp_close(). I put some calls to printk in udp_close() -- it's coming
in with sk->wmem_alloc = 416. If I put some printks in a loop like

static void udp_close(struct sock *sk, unsigned long timeout)
sk->state = TCP_CLOSE;
int i;
for (i = 0; i < 10; i++) {
printk ("udp_close %d: %d %d\n", i, sk->rmem_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.