|
@@ -580,10 +580,6 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos,
|
|
else if (!ret) {
|
|
else if (!ret) {
|
|
if (spliced)
|
|
if (spliced)
|
|
break;
|
|
break;
|
|
- if (flags & SPLICE_F_NONBLOCK) {
|
|
|
|
- ret = -EAGAIN;
|
|
|
|
- break;
|
|
|
|
- }
|
|
|
|
if (sock_flag(sk, SOCK_DONE))
|
|
if (sock_flag(sk, SOCK_DONE))
|
|
break;
|
|
break;
|
|
if (sk->sk_err) {
|
|
if (sk->sk_err) {
|
|
@@ -601,6 +597,10 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *ppos,
|
|
ret = -ENOTCONN;
|
|
ret = -ENOTCONN;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
+ if (flags & SPLICE_F_NONBLOCK) {
|
|
|
|
+ ret = -EAGAIN;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
if (!timeo) {
|
|
if (!timeo) {
|
|
ret = -EAGAIN;
|
|
ret = -EAGAIN;
|
|
break;
|
|
break;
|