diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2008-06-06 12:04:31 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2008-06-06 12:04:31 +0000 |
commit | ee57050a297dc1ca5079ae265e8ee67d8ba84cde (patch) | |
tree | ff8d6c52ddd812f3a14241913055e5b30e43ab0a | |
parent | 65f2d86e0147f630aa5f528017090553f08fc6a3 (diff) |
Notes
-rw-r--r-- | sys/kern/sys_pipe.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/sys/kern/sys_pipe.c b/sys/kern/sys_pipe.c index c1e954679526..b58d3c64fa2d 100644 --- a/sys/kern/sys_pipe.c +++ b/sys/kern/sys_pipe.c @@ -1559,13 +1559,8 @@ filt_pipedetach(struct knote *kn) struct pipe *cpipe = (struct pipe *)kn->kn_fp->f_data; PIPE_LOCK(cpipe); - if (kn->kn_filter == EVFILT_WRITE) { - if (!cpipe->pipe_peer->pipe_present) { - PIPE_UNLOCK(cpipe); - return; - } + if (kn->kn_filter == EVFILT_WRITE) cpipe = cpipe->pipe_peer; - } knlist_remove(&cpipe->pipe_sel.si_note, kn, 1); PIPE_UNLOCK(cpipe); } |