|
@@ -908,7 +908,8 @@ static inline int tcp_prequeue(struct sock *sk, struct sk_buff *skb)
|
|
|
|
|
|
tp->ucopy.memory = 0;
|
|
tp->ucopy.memory = 0;
|
|
} else if (skb_queue_len(&tp->ucopy.prequeue) == 1) {
|
|
} else if (skb_queue_len(&tp->ucopy.prequeue) == 1) {
|
|
- wake_up_interruptible(sk->sk_sleep);
|
|
|
|
|
|
+ wake_up_interruptible_poll(sk->sk_sleep,
|
|
|
|
+ POLLIN | POLLRDNORM | POLLRDBAND);
|
|
if (!inet_csk_ack_scheduled(sk))
|
|
if (!inet_csk_ack_scheduled(sk))
|
|
inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,
|
|
inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,
|
|
(3 * TCP_RTO_MIN) / 4,
|
|
(3 * TCP_RTO_MIN) / 4,
|