From 2e51c2bfd17f952bb5ca28e2855d1457992f05e5 Mon Sep 17 00:00:00 2001 From: Mateusz Guzik Date: Wed, 25 Nov 2020 22:53:21 +0000 Subject: [PATCH] pipe: follow up cleanup to previous The commited patch was incomplete. - add back missing goto retry, noted by jhb - 'if (error)' -> 'if (error != 0)' - consistently do: if (error != 0) break; continue; instead of: if (error != 0) break; else continue; This adds some 'continue' uses which are not needed, but line up with the rest of pipe_write. --- sys/kern/sys_pipe.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index 7128997f8d2..76ab7bab05f 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.