af_unix.c (7782040b950b5d0433f734fb2bba8b8b5ed6ce5a) | af_unix.c (e427cad6eee47e2daf207cd7a4156ae72496ee07) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * NET4: Implementation of BSD Unix domain sockets. 4 * 5 * Authors: Alan Cox, <alan@lxorguk.ukuu.org.uk> 6 * 7 * Fixes: 8 * Linus Torvalds : Assorted bug cures. --- 2092 unchanged lines hidden (view full) --- 2101 2102 timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); 2103 2104 do { 2105 mutex_lock(&u->iolock); 2106 2107 skip = sk_peek_offset(sk, flags); 2108 skb = __skb_try_recv_datagram(sk, &sk->sk_receive_queue, flags, | 1// SPDX-License-Identifier: GPL-2.0-or-later 2/* 3 * NET4: Implementation of BSD Unix domain sockets. 4 * 5 * Authors: Alan Cox, <alan@lxorguk.ukuu.org.uk> 6 * 7 * Fixes: 8 * Linus Torvalds : Assorted bug cures. --- 2092 unchanged lines hidden (view full) --- 2101 2102 timeo = sock_rcvtimeo(sk, flags & MSG_DONTWAIT); 2103 2104 do { 2105 mutex_lock(&u->iolock); 2106 2107 skip = sk_peek_offset(sk, flags); 2108 skb = __skb_try_recv_datagram(sk, &sk->sk_receive_queue, flags, |
2109 scm_stat_del, &skip, &err, &last); 2110 if (skb) | 2109 &skip, &err, &last); 2110 if (skb) { 2111 if (!(flags & MSG_PEEK)) 2112 scm_stat_del(sk, skb); |
2111 break; | 2113 break; |
2114 } |
|
2112 2113 mutex_unlock(&u->iolock); 2114 2115 if (err != -EAGAIN) 2116 break; 2117 } while (timeo && 2118 !__skb_wait_for_more_packets(sk, &sk->sk_receive_queue, 2119 &err, &timeo, last)); --- 828 unchanged lines hidden --- | 2115 2116 mutex_unlock(&u->iolock); 2117 2118 if (err != -EAGAIN) 2119 break; 2120 } while (timeo && 2121 !__skb_wait_for_more_packets(sk, &sk->sk_receive_queue, 2122 &err, &timeo, last)); --- 828 unchanged lines hidden --- |