Lines Matching refs:fpipe
132 struct pipe *fpipe; in fifo_open() local
143 error = pipe_named_ctor(&fpipe, td); in fifo_open()
147 fip->fi_pipe = fpipe; in fifo_open()
148 fpipe->pipe_wgen = 0; in fifo_open()
152 fpipe = fip->fi_pipe; in fifo_open()
153 KASSERT(fpipe != NULL, ("fifo_open: pipe is NULL")); in fifo_open()
160 PIPE_LOCK(fpipe); in fifo_open()
165 fpipe->pipe_state &= ~PIPE_EOF; in fifo_open()
168 pipeselwakeup(fpipe); in fifo_open()
171 fp->f_pipegen = fpipe->pipe_wgen - fip->fi_writers; in fifo_open()
175 PIPE_UNLOCK(fpipe); in fifo_open()
183 fpipe->pipe_state &= ~PIPE_EOF; in fifo_open()
186 pipeselwakeup(fpipe); in fifo_open()
195 error = msleep(&fip->fi_readers, PIPE_MTX(fpipe), in fifo_open()
202 PIPE_LOCK(fpipe); in fifo_open()
203 fpipe->pipe_state |= PIPE_EOF; in fifo_open()
204 if (fpipe->pipe_state & PIPE_WANTW) in fifo_open()
205 wakeup(fpipe); in fifo_open()
206 pipeselwakeup(fpipe); in fifo_open()
207 PIPE_UNLOCK(fpipe); in fifo_open()
212 PIPE_LOCK(fpipe); in fifo_open()
223 error = msleep(&fip->fi_writers, PIPE_MTX(fpipe), in fifo_open()
230 PIPE_LOCK(fpipe); in fifo_open()
231 fpipe->pipe_state |= PIPE_EOF; in fifo_open()
232 if (fpipe->pipe_state & PIPE_WANTR) in fifo_open()
233 wakeup(fpipe); in fifo_open()
234 fpipe->pipe_wgen++; in fifo_open()
235 pipeselwakeup(fpipe); in fifo_open()
236 PIPE_UNLOCK(fpipe); in fifo_open()
246 PIPE_LOCK(fpipe); in fifo_open()
249 PIPE_UNLOCK(fpipe); in fifo_open()
252 finit(fp, fp->f_flag, DTYPE_FIFO, fpipe, &pipeops); in fifo_open()