Lines Matching refs:pipe
36 struct pipe_inode_info *pipe;
40 pipe = inode->i_pipe;
41 if (!pipe) {
43 pipe = alloc_pipe_info(inode);
44 if (!pipe)
46 inode->i_pipe = pipe;
61 pipe->r_counter++;
62 if (pipe->readers++ == 0)
65 if (!pipe->writers) {
69 filp->f_version = pipe->w_counter;
72 wait_for_partner(inode, &pipe->w_counter);
86 if ((filp->f_flags & O_NONBLOCK) && !pipe->readers)
90 pipe->w_counter++;
91 if (!pipe->writers++)
94 if (!pipe->readers) {
95 wait_for_partner(inode, &pipe->r_counter);
110 pipe->readers++;
111 pipe->writers++;
112 pipe->r_counter++;
113 pipe->w_counter++;
114 if (pipe->readers == 1 || pipe->writers == 1)
128 if (!--pipe->readers)
129 wake_up_interruptible(&pipe->wait);
134 if (!--pipe->writers)
135 wake_up_interruptible(&pipe->wait);
140 if (!pipe->readers && !pipe->writers)