Lines Matching defs:qp

101  * purpose:  call the put routine of the queue linked to qp
144 putnext(queue_t *qp, mblk_t *mp)
146 queue_t *fqp = qp; /* For strft tracing */
160 "putnext_start:(%p, %p)", qp, mp);
164 stp = STREAM(qp);
173 qp = qp->q_next;
174 sq = qp->q_syncq;
177 qi = qp->q_qinfo;
195 queued = qp->q_sqflags & Q_SQQUEUED;
223 qp, mp, sq);
232 qfill_syncq(sq, qp, mp);
234 * NOTE: after the call to qfill_syncq() qp may be
235 * closed, both qp and sq should not be referenced at
245 queued = qp->q_sqflags & Q_SQQUEUED;
274 (*putproc)(qp, mp);
276 ASSERT(MUTEX_NOT_HELD(QLOCK(qp)));
278 mutex_enter(QLOCK(qp));
283 if (qp->q_syncqmsgs == 0) {
284 mutex_exit(QLOCK(qp));
287 (*putproc)(qp, mp);
310 mp->b_queue = qp;
313 SQPUT_MP(qp, mp);
314 qdrain_syncq(sq, qp);
315 ASSERT(MUTEX_NOT_HELD(QLOCK(qp)));
364 "putnext_end:(%p, %p, %p) done", qp, mp, sq);
374 putnext_tail(sq, qp, (flags & ~drain_mask));
411 "putnext_end:(%p, %p, %p) done", qp, mp, sq);
426 put(queue_t *qp, mblk_t *mp)
428 queue_t *fqp = qp; /* For strft tracing */
440 "put:(%X, %X)", qp, mp);
444 sq = qp->q_syncq;
446 qi = qp->q_qinfo;
463 queued = qp->q_sqflags & Q_SQQUEUED;
490 qp, mp, sq);
499 qfill_syncq(sq, qp, mp);
501 * NOTE: after the call to qfill_syncq() qp may be
502 * closed, both qp and sq should not be referenced at
512 queued = qp->q_sqflags & Q_SQQUEUED;
541 (*putproc)(qp, mp);
543 ASSERT(MUTEX_NOT_HELD(QLOCK(qp)));
545 mutex_enter(QLOCK(qp));
550 if (qp->q_syncqmsgs == 0) {
551 mutex_exit(QLOCK(qp));
554 (*putproc)(qp, mp);
577 mp->b_queue = qp;
580 SQPUT_MP(qp, mp);
581 qdrain_syncq(sq, qp);
582 ASSERT(MUTEX_NOT_HELD(QLOCK(qp)));
631 "putnext_end:(%p, %p, %p) done", qp, mp, sq);
641 putnext_tail(sq, qp, (flags & ~drain_mask));
678 "putnext_end:(%p, %p, %p) done", qp, mp, sq);