PIPE_WANTW
if (rpb->state & PIPE_WANTW) {
rpb->state &= ~PIPE_WANTW;
if (wpb->state & PIPE_WANTW) {
wpb->state &= ~PIPE_WANTW;
if (rpb->state & (PIPE_WANTR | PIPE_WANTW)) {
rpb->state &= ~(PIPE_WANTR | PIPE_WANTW);
if (wpb->state & (PIPE_WANTR | PIPE_WANTW)) {
wpb->state &= ~(PIPE_WANTR | PIPE_WANTW);
pipesignal(rpb, PIPE_WANTW);
pipesignal(rpb, PIPE_WANTW);
pipesignal(rpb, PIPE_WANTW);
atomic_set_int(&wpb->state, PIPE_WANTW);