X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=net%2Ftipc%2Fsocket.c;h=0ed0eaa62f29e7148052907892ff90ebd20d2fed;hb=0f2776e6151a123552fd06b666fe755fa780a967;hp=a4cf274455aa42922c3e27947e0788da8e3ac794;hpb=cf8bf7cd13804fcb87b5f9ad026d5b823873e8cc;p=~andy%2Flinux diff --git a/net/tipc/socket.c b/net/tipc/socket.c index a4cf274455a..0ed0eaa62f2 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -997,7 +997,7 @@ static int tipc_wait_for_rcvmsg(struct socket *sock, long timeo) for (;;) { prepare_to_wait(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); - if (skb_queue_empty(&sk->sk_receive_queue)) { + if (timeo && skb_queue_empty(&sk->sk_receive_queue)) { if (sock->state == SS_DISCONNECTING) { err = -ENOTCONN; break; @@ -1623,7 +1623,7 @@ static int tipc_wait_for_accept(struct socket *sock, long timeo) for (;;) { prepare_to_wait_exclusive(sk_sleep(sk), &wait, TASK_INTERRUPTIBLE); - if (skb_queue_empty(&sk->sk_receive_queue)) { + if (timeo && skb_queue_empty(&sk->sk_receive_queue)) { release_sock(sk); timeo = schedule_timeout(timeo); lock_sock(sk);