AF_UNIX hangs

Alan Cox (alan@lxorguk.ukuu.org.uk)
Thu, 1 Feb 2001 18:51:11 +0000 (GMT)


Looking at net/core/datagram.c:wait_for_packet the code will return 0
when the socket has been shutdown. That causes skb_recv_datagram to loop
which is in itself obviously incorrect for a shutdown socket (its in EOF
state)

I suspect it should read something like

/* Socket shut down? */
if (sk->shutdown & RCV_SHUTDOWN)
{
current->state = TASK_RUNNING;
remove_wait_queue(sk->sleep, &wait);
*err = 0;
return 1;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/