Lines Matching defs:wpipe

177 	struct pipe *rpipe, *wpipe = NULL;
185 wpipe = &pp->pp_wpipe;
203 wf->f_data = wpipe;
233 pipe_destroy(wpipe);
480 struct pipe *rpipe = fp->f_data, *wpipe;
486 wpipe = pipe_peer(rpipe);
489 if (wpipe == NULL) {
494 ++wpipe->pipe_busy;
495 error = pipe_iolock(wpipe);
497 --wpipe->pipe_busy;
498 pipe_rundown(wpipe);
506 wpipe->pipe_buffer.size <= PIPE_SIZE &&
507 wpipe->pipe_buffer.cnt == 0) {
512 pipe_buffer_realloc(wpipe, BIG_PIPE_SIZE) != 0)
521 if (wpipe->pipe_state & PIPE_EOF) {
526 space = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt;
551 segsize = wpipe->pipe_buffer.size -
552 wpipe->pipe_buffer.in;
559 error = uiomove(&wpipe->pipe_buffer.buffer[wpipe->pipe_buffer.in],
570 if (wpipe->pipe_buffer.in + segsize !=
571 wpipe->pipe_buffer.size)
576 error = uiomove(&wpipe->pipe_buffer.buffer[0],
581 wpipe->pipe_buffer.in += size;
582 if (wpipe->pipe_buffer.in >=
583 wpipe->pipe_buffer.size) {
585 if (wpipe->pipe_buffer.in != size - segsize + wpipe->pipe_buffer.size)
588 wpipe->pipe_buffer.in = size - segsize;
591 wpipe->pipe_buffer.cnt += size;
593 if (wpipe->pipe_buffer.cnt > wpipe->pipe_buffer.size)
601 if (wpipe->pipe_state & PIPE_WANTR) {
602 wpipe->pipe_state &= ~PIPE_WANTR;
603 wakeup(wpipe);
616 pipe_wakeup(wpipe);
618 wpipe->pipe_state |= PIPE_WANTW;
619 error = pipe_iosleep(wpipe, "pipewr");
627 if (wpipe->pipe_state & PIPE_EOF) {
633 pipe_iounlock(wpipe);
636 --wpipe->pipe_busy;
638 if (pipe_rundown(wpipe) == 0 && wpipe->pipe_buffer.cnt > 0) {
643 if (wpipe->pipe_state & PIPE_WANTR) {
644 wpipe->pipe_state &= ~PIPE_WANTR;
645 wakeup(wpipe);
650 if (wpipe->pipe_buffer.cnt == 0 &&
657 getnanotime(&wpipe->pipe_mtime);
659 if (wpipe->pipe_buffer.cnt)
660 pipe_wakeup(wpipe);
838 struct pipe *rpipe = kn->kn_fp->f_data, *wpipe;
843 wpipe = pipe_peer(rpipe);
852 if (wpipe == NULL) {
859 wpipe = rpipe;
862 kn->kn_hook = wpipe;
863 klist_insert_locked(&wpipe->pipe_klist, kn);
900 struct pipe *rpipe = kn->kn_fp->f_data, *wpipe;
904 wpipe = pipe_peer(rpipe);
908 if ((rpipe->pipe_state & PIPE_EOF) || wpipe == NULL) {
921 struct pipe *rpipe = kn->kn_fp->f_data, *wpipe;
925 wpipe = pipe_peer(rpipe);
927 if (wpipe == NULL) {
934 kn->kn_data = wpipe->pipe_buffer.size - wpipe->pipe_buffer.cnt;
942 struct pipe *rpipe = kn->kn_fp->f_data, *wpipe;
947 wpipe = pipe_peer(rpipe);
950 if ((rpipe->pipe_state & PIPE_EOF) || wpipe == NULL) {