View | Details | Raw Unified | Return to bug 203366 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/kern/sys_pipe.c (-1 / +3 lines)
Lines 1791-1797 filt_piperead(struct knote *kn, long hint) Link Here
1791
	if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW))
1791
	if ((kn->kn_data == 0) && (rpipe->pipe_state & PIPE_DIRECTW))
1792
		kn->kn_data = rpipe->pipe_map.cnt;
1792
		kn->kn_data = rpipe->pipe_map.cnt;
1793
1793
1794
	if ((rpipe->pipe_state & PIPE_EOF) ||
1794
	if ((kn->kn_flags & (EV_CLEAR | EV_EOF)) == (EV_CLEAR | EV_EOF)) {
1795
		kn->kn_flags &= ~EV_EOF;
1796
	} else if ((rpipe->pipe_state & PIPE_EOF) ||
1795
	    wpipe->pipe_present != PIPE_ACTIVE ||
1797
	    wpipe->pipe_present != PIPE_ACTIVE ||
1796
	    (wpipe->pipe_state & PIPE_EOF)) {
1798
	    (wpipe->pipe_state & PIPE_EOF)) {
1797
		kn->kn_flags |= EV_EOF;
1799
		kn->kn_flags |= EV_EOF;

Return to bug 203366