summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorMateusz Guzik <mjg@FreeBSD.org>2020-11-25 22:53:21 +0000
committerMateusz Guzik <mjg@FreeBSD.org>2020-11-25 22:53:21 +0000
commit2e51c2bfd17f952bb5ca28e2855d1457992f05e5 (patch)
tree9ac69752e5843ff24c2354a48a14d34eb44a26ce /sys/kern
parentc8df8543fdf2a883b0987b6f2a18d476e45cf160 (diff)
downloadsrc-test2-2e51c2bfd17f952bb5ca28e2855d1457992f05e5.tar.gz
src-test2-2e51c2bfd17f952bb5ca28e2855d1457992f05e5.zip
Notes
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/sys_pipe.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c
index 7128997f8d2f..76ab7bab05f7 100644
--- a/sys/kern/sys_pipe.c
+++ b/sys/kern/sys_pipe.c
@@ -994,8 +994,9 @@ retry:
error = msleep(wpipe, PIPE_MTX(wpipe),
PRIBIO | PCATCH, "pipdww", 0);
pipelock(wpipe, 0);
- if (error)
+ if (error != 0)
goto error1;
+ goto retry;
}
if (wpipe->pipe_buffer.cnt > 0) {
if (wpipe->pipe_state & PIPE_WANTR) {
@@ -1008,10 +1009,9 @@ retry:
error = msleep(wpipe, PIPE_MTX(wpipe),
PRIBIO | PCATCH, "pipdwc", 0);
pipelock(wpipe, 0);
- if (error)
+ if (error != 0)
goto error1;
- else
- goto retry;
+ goto retry;
}
error = pipe_build_write_buffer(wpipe, uio);
@@ -1142,7 +1142,7 @@ pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred,
wpipe->pipe_buffer.size >= PIPE_MINDIRECT &&
(fp->f_flag & FNONBLOCK) == 0) {
error = pipe_direct_write(wpipe, uio);
- if (error)
+ if (error != 0)
break;
continue;
}
@@ -1166,10 +1166,9 @@ pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred,
error = msleep(wpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH,
"pipbww", 0);
pipelock(wpipe, 0);
- if (error)
+ if (error != 0)
break;
- else
- continue;
+ continue;
}
space = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt;
@@ -1243,6 +1242,7 @@ pipe_write(struct file *fp, struct uio *uio, struct ucred *active_cred,
}
if (error != 0)
break;
+ continue;
} else {
/*
* If the "read-side" has been blocked, wake it up now.