CHN_F_BUSY
#define CHN_F_RESET (CHN_F_BUSY | CHN_F_DEAD | \
if ((ch->flags & CHN_F_BUSY) == 0)
if (*ch == NULL || !((*ch)->flags & CHN_F_BUSY)) {
if (c->flags & CHN_F_BUSY)
!(c->flags & (CHN_F_BUSY | CHN_F_VIRTUAL))))) {
ch->flags |= CHN_F_BUSY;
ch->flags &= ~CHN_F_BUSY;
if (!(ch->flags & CHN_F_BUSY) &&
if (c->direction == direction && !(c->flags & CHN_F_BUSY) &&
c->flags |= CHN_F_BUSY;
else if (c->flags & CHN_F_BUSY)
c->direction == direction && (c->flags & CHN_F_BUSY))
c->flags &= ~CHN_F_BUSY;
if (!(parent->flags & CHN_F_BUSY))
if (!(parent->flags & CHN_F_BUSY))
parent->flags &= ~(CHN_F_BUSY | CHN_F_HAS_VCHAN);