TS_IOCWAIT
ctp->tp->t_state &= ~TS_IOCWAIT;
tp->t_state |= TS_IOCWAIT;
while (tp->t_state & TS_IOCWAIT) {
(tp->t_state & (TS_CLOSE|TS_IOCWAIT)) == (TS_CLOSE|TS_IOCWAIT)) {
tp->t_state &= ~TS_IOCWAIT;
if (tp->t_state&TS_IOCWAIT && iocp->ioc_id == tp->t_iocid) {
tp->t_state &= ~TS_IOCWAIT; /* this call isn't going through */
tp->t_state |= TS_IOCWAIT;
if (!(tp->t_state&TS_IOCWAIT) || iocp->ioc_id != tp->t_iocid) {
tp->t_state &= ~TS_IOCWAIT; /* we got what we wanted */
tp->t_state &= ~(TS_IOCWAIT | TS_TIOCNAK);
tp->t_state &= ~TS_IOCWAIT; /* we got what we wanted */
tp->t_state &= ~TS_IOCWAIT;