FIFOCLOSE
if ((fnp->fn_flag & (FIFOCLOSE|ISPIPE)) == (FIFOCLOSE|ISPIPE)) {
if (((fnp->fn_flag & (ISPIPE|FIFOCLOSE)) == FIFOCLOSE) &&
fnp->fn_flag &= ~FIFOCLOSE;
while ((fn_dest->fn_flag & (FIFOCLOSE | FIFOSEND)) == FIFOSEND) {
} else if ((fnp->fn_flag & (FIFOCLOSE | ISPIPE)) == FIFOCLOSE &&
fnp->fn_flag |= FIFOCLOSE;
if ((fnp->fn_flag & ISPIPE) && !(fnp->fn_flag & FIFOCLOSE)) {
fnp->fn_flag |= FIFOCLOSE;
fn_dest->fn_flag |= FIFOCLOSE;
ASSERT((fnp->fn_flag & (ISPIPE|FIFOCLOSE)) !=
(ISPIPE|FIFOCLOSE));