diff options
Diffstat (limited to 'net/core/datagram.c')
-rw-r--r-- | net/core/datagram.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/core/datagram.c b/net/core/datagram.c index 282806ba7a5..cd1e039c875 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -747,13 +747,12 @@ unsigned int datagram_poll(struct file *file, struct socket *sock, if (sk->sk_err || !skb_queue_empty(&sk->sk_error_queue)) mask |= POLLERR; if (sk->sk_shutdown & RCV_SHUTDOWN) - mask |= POLLRDHUP; + mask |= POLLRDHUP | POLLIN | POLLRDNORM; if (sk->sk_shutdown == SHUTDOWN_MASK) mask |= POLLHUP; /* readable? */ - if (!skb_queue_empty(&sk->sk_receive_queue) || - (sk->sk_shutdown & RCV_SHUTDOWN)) + if (!skb_queue_empty(&sk->sk_receive_queue)) mask |= POLLIN | POLLRDNORM; /* Connection-based need to check for termination and startup */ |