{
if (rw_flag == WRITING)
{
- if (vp->v_w_pipe_busy)
- {
- panic(__FILE__,
- "read_write: pipe already has a writer",
- NO_NUM);
- }
if (fp->fp_cum_io_partial != 0)
{
panic(__FILE__,
"read_write: fp_cum_io_partial not clear for new pipe writer",
NO_NUM);
}
- vp->v_w_pipe_busy= TRUE;
}
return rw_pipe(rw_flag, usr, m_in.fd, f, m_in.buffer, m_in.nbytes);
}
}
}
fp->fp_cum_io_partial = 0;
- if (rw_flag == WRITING)
- vp->v_w_pipe_busy= FALSE;
return cum_io;
}
int v_fs_count; /* # reference at the underlying FS */
int v_ref_check; /* for consistency checks */
char v_pipe; /* set to I_PIPE if pipe */
- char v_w_pipe_busy; /* true iff writer suspended */
off_t v_pipe_rd_pos;
off_t v_pipe_wr_pos;
endpoint_t v_bfs_e; /* endpoint number for the FS proces in case