Lines Matching defs:qp

175 static boolean_t rwnext_enter(queue_t *qp);
176 static void rwnext_exit(queue_t *qp);
3237 qsize(queue_t *qp)
3242 mutex_enter(QLOCK(qp));
3243 for (mp = qp->q_first; mp; mp = mp->b_next)
3245 mutex_exit(QLOCK(qp));
3702 * fails. The qp->q_rwcnt keeps track of the number of successful entries so
3707 rwnext_enter(queue_t *qp)
3709 mutex_enter(QLOCK(qp));
3710 if (qp->q_flag & QWCLOSE) {
3711 mutex_exit(QLOCK(qp));
3714 qp->q_rwcnt++;
3715 ASSERT(qp->q_rwcnt != 0);
3716 mutex_exit(QLOCK(qp));
3725 rwnext_exit(queue_t *qp)
3727 mutex_enter(QLOCK(qp));
3728 qp->q_rwcnt--;
3729 if (qp->q_flag & QWANTRMQSYNC) {
3730 qp->q_flag &= ~QWANTRMQSYNC;
3731 cv_broadcast(&qp->q_wait);
3733 mutex_exit(QLOCK(qp));
3751 rwnext(queue_t *qp, struiod_t *dp)
3763 stp = STREAM(qp);
3775 if ((nqp = _WR(qp)) == qp) {
3778 qp = nqp->q_next;
3784 qp = _RD(nqp->q_next);
3786 qi = qp->q_qinfo;
3787 if (qp->q_struiot == STRUIOT_NONE || ! (proc = qi->qi_rwp)) {
3796 if (rwnext_enter(qp) == B_FALSE) {
3801 sq = qp->q_syncq;
3812 if (qp->q_flag & QWCLOSE) {
3814 rwnext_exit(qp);
3834 rwnext_exit(qp);
3850 if (! isread && (qp->q_flag & QFULL)) {
3855 mutex_enter(QLOCK(qp));
3856 if (qp->q_flag & QFULL) {
3857 qp->q_flag |= QWANTWSYNC;
3858 mutex_exit(QLOCK(qp));
3862 mutex_exit(QLOCK(qp));
3869 rval = (*proc)(qp, dp);
3879 rwnext_exit(qp);
3886 putnext_tail(sq, qp, flags);
3939 infonext(queue_t *qp, infod_t *idp)
3950 stp = STREAM(qp);
3956 if ((nqp = _WR(qp)) == qp) {
3957 qp = nqp->q_next;
3959 qp = _RD(nqp->q_next);
3961 qi = qp->q_qinfo;
3962 if (qp->q_struiot == STRUIOT_NONE || ! (proc = qi->qi_infop)) {
3966 sq = qp->q_syncq;
3989 rval = (*proc)(qp, idp);
3996 putnext_tail(sq, qp, flags);
4284 queue_t *qp = p;
4286 if (!(qp->q_flag & QREADR))
4289 ep->mid = Q2NAME(qp);
4294 * code ensures that qp->q_next won't vanish. (We could use
4297 if ((evnt & FTEV_MASK) == FTEV_PUTNEXT && qp->q_next != NULL)
4298 ep->midnext = Q2NAME(qp->q_next);