diff options
Diffstat (limited to 'net/unix/af_unix.c')
| -rw-r--r-- | net/unix/af_unix.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 89f9e85ae970..78e08e82c08c 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -3052,6 +3052,8 @@ static __poll_t unix_poll(struct file *file, struct socket *sock, poll_table *wa  	/* readable? */  	if (!skb_queue_empty_lockless(&sk->sk_receive_queue))  		mask |= EPOLLIN | EPOLLRDNORM; +	if (sk_is_readable(sk)) +		mask |= EPOLLIN | EPOLLRDNORM;  	/* Connection-based need to check for termination and startup */  	if ((sk->sk_type == SOCK_STREAM || sk->sk_type == SOCK_SEQPACKET) && @@ -3091,6 +3093,8 @@ static __poll_t unix_dgram_poll(struct file *file, struct socket *sock,  	/* readable? */  	if (!skb_queue_empty_lockless(&sk->sk_receive_queue))  		mask |= EPOLLIN | EPOLLRDNORM; +	if (sk_is_readable(sk)) +		mask |= EPOLLIN | EPOLLRDNORM;  	/* Connection-based need to check for termination and startup */  	if (sk->sk_type == SOCK_SEQPACKET) {  |