Lines Matching defs:chp

306 	evch_chan_t *chp;
315 while ((chp = evch_dl_next(&eg->evch_list, NULL)) != NULL) {
321 mutex_enter(&chp->ch_mutex);
322 ASSERT(chp->ch_bindings == 0);
323 ASSERT(evch_dl_getnum(&chp->ch_subscr) != 0 ||
324 chp->ch_holdpend == CH_HOLD_PEND_INDEF);
327 while ((sdp = evch_dl_next(&chp->ch_subscr, NULL)) != NULL) {
338 evch_evq_unsub(chp->ch_queue, sdp->sd_msub);
346 evch_dl_del(&chp->ch_subscr, &sdp->sd_link);
353 ASSERT(evch_dl_getnum(&chp->ch_subscr) == 0);
356 mutex_exit(&chp->ch_mutex);
357 evch_dl_del(&eg->evch_list, &chp->ch_link);
358 evch_evq_destroy(chp->ch_queue);
359 mutex_destroy(&chp->ch_mutex);
360 mutex_destroy(&chp->ch_pubmx);
361 cv_destroy(&chp->ch_pubcv);
362 kmem_free(chp->ch_name, chp->ch_namelen);
363 kmem_free(chp, sizeof (evch_chan_t));
966 evch_chan_t *chp = (evch_chan_t *)ch;
968 mutex_enter(&chp->ch_pubmx);
969 chp->ch_nevents--;
970 cv_signal(&chp->ch_pubcv);
971 mutex_exit(&chp->ch_pubmx);
1027 evch_chan_t *chp;
1037 for (chp = evch_dl_next(&eg->evch_list, NULL); chp != NULL;
1038 chp = evch_dl_next(&eg->evch_list, chp)) {
1039 for (sdp = evch_dl_next(&chp->ch_subscr, NULL); sdp;
1040 sdp = evch_dl_next(&chp->ch_subscr, sdp)) {
1043 evch_evq_thrcreate(chp->ch_queue);
1146 evch_chan_t *chp = bp->bd_channel;
1152 mutex_enter(&chp->ch_mutex);
1153 ASSERT(chp->ch_bindings > 0);
1154 chp->ch_bindings--;
1156 if (chp->ch_bindings == 0 && evch_dl_getnum(&chp->ch_subscr) == 0 &&
1157 (chp->ch_nevents == 0 || chp->ch_holdpend != CH_HOLD_PEND_INDEF)) {
1164 mutex_exit(&chp->ch_mutex);
1165 evch_dl_del(&eg->evch_list, &chp->ch_link);
1166 evch_evq_destroy(chp->ch_queue);
1167 nvlist_free(chp->ch_propnvl);
1168 mutex_destroy(&chp->ch_mutex);
1169 mutex_destroy(&chp->ch_pubmx);
1170 cv_destroy(&chp->ch_pubcv);
1171 kmem_free(chp->ch_name, chp->ch_namelen);
1172 kmem_free(chp, sizeof (evch_chan_t));
1174 mutex_exit(&chp->ch_mutex);
1204 evch_chan_t *chp = bp->bd_channel;
1205 evch_eventq_t *eqp = chp->ch_queue;
1231 mutex_enter(&chp->ch_mutex);
1232 if ((esp = (evch_subd_t *)evch_dl_search(&chp->ch_subscr,
1251 mutex_exit(&chp->ch_mutex);
1255 if (evch_dl_getnum(&chp->ch_subscr) >= chp->ch_maxsubscr) {
1256 mutex_exit(&chp->ch_mutex);
1260 if (flags & EVCH_SUB_DUMP && evch_dl_search(&chp->ch_subscr,
1267 mutex_exit(&chp->ch_mutex);
1314 evch_dl_add(&chp->ch_subscr, &sdp->sd_link);
1315 if (chp->ch_holdpend && evch_dl_getnum(&chp->ch_subscr) == 1) {
1320 mutex_exit(&chp->ch_mutex);
1336 evch_chan_t *chp = bp->bd_channel;
1338 mutex_enter(&chp->ch_mutex);
1339 if (chp->ch_holdpend) {
1340 evch_evq_stop(chp->ch_queue); /* Hold main event queue */
1350 evch_evq_unsub(chp->ch_queue, sdp->sd_msub);
1359 evch_dl_del(&chp->ch_subscr, &sdp->sd_link);
1394 if (!(chp->ch_holdpend && evch_dl_getnum(&chp->ch_subscr) == 0)) {
1399 evch_evq_continue(chp->ch_queue);
1401 mutex_exit(&chp->ch_mutex);
1410 evch_chan_t *chp = bp->bd_channel;
1414 mutex_enter(&chp->ch_pubmx);
1415 if (chp->ch_nevents >= chp->ch_maxev) {
1418 mutex_exit(&chp->ch_pubmx);
1421 while (chp->ch_nevents >= chp->ch_maxev) {
1422 if (cv_wait_sig(&chp->ch_pubcv,
1423 &chp->ch_pubmx) == 0) {
1427 mutex_exit(&chp->ch_pubmx);
1433 chp->ch_nevents++;
1434 mutex_exit(&chp->ch_pubmx);
1444 evch_evq_evadd_dest(ev, evch_destr_event, (void *)chp);
1445 return (evch_evq_pub(chp->ch_queue, ev, flags) == 0 ? 0 : EAGAIN);
1459 evch_chan_t *chp;
1465 for (chp = evch_dl_next(&eg->evch_list, NULL); chp != NULL;
1466 chp = evch_dl_next(&eg->evch_list, chp)) {
1467 len += chp->ch_namelen;
1472 bcopy(chp->ch_name, addr, chp->ch_namelen);
1473 addr += chp->ch_namelen;
1491 evch_chan_t *chp;
1503 chp = (evch_chan_t *)evch_dl_search(&eg->evch_list, evch_namecmp,
1505 if (chp == NULL) {
1516 p->cd_uid = chp->ch_uid;
1517 p->cd_gid = chp->ch_gid;
1519 p->cd_ctime = chp->ch_ctime;
1520 p->cd_maxev = chp->ch_maxev;
1521 p->cd_evhwm = EVCH_EVQ_HIGHWM(chp->ch_queue);
1522 p->cd_nevents = EVCH_EVQ_EVCOUNT(chp->ch_queue);
1523 p->cd_maxsub = chp->ch_maxsubscr;
1524 p->cd_nsub = evch_dl_getnum(&chp->ch_subscr);
1525 p->cd_maxbinds = chp->ch_maxbinds;
1526 p->cd_nbinds = chp->ch_bindings;
1527 p->cd_holdpend = chp->ch_holdpend;
1533 for (sdp = evch_dl_next(&chp->ch_subscr, NULL); sdp != NULL;
1534 sdp = evch_dl_next(&chp->ch_subscr, sdp)) {
1570 evch_chan_t *chp = bp->bd_channel;
1572 mutex_enter(&chp->ch_mutex);
1574 nvlist_free(chp->ch_propnvl);
1576 chp->ch_propnvl = nvl;
1577 chp->ch_propnvlgen++;
1579 mutex_exit(&chp->ch_mutex);
1585 evch_chan_t *chp = bp->bd_channel;
1588 mutex_enter(&chp->ch_mutex);
1590 if (chp->ch_propnvl != NULL)
1591 rc = (nvlist_dup(chp->ch_propnvl, nvlp, 0) == 0) ? 0 : ENOMEM;
1596 *genp = chp->ch_propnvlgen;
1598 mutex_exit(&chp->ch_mutex);
1625 evch_chrdevent_init(evch_chan_t *chp, char *subid)
1636 evch_chan = chp;
1639 if ((sdp = (evch_subd_t *)evch_dl_search(&chp->ch_subscr,
1645 mutex_enter(&chp->ch_mutex);
1646 sdp = (evch_subd_t *)evch_dl_search(&chp->ch_subscr, compfunc, subid);
1651 pmqstat = evch_evq_status(chp->ch_queue);
1653 evch_evq_stop(chp->ch_queue);
1676 while ((ev = evch_evq_evnext(chp->ch_queue, ev)) != NULL) {
1686 evch_evq_continue(chp->ch_queue);
1687 mutex_exit(&chp->ch_mutex);
1979 evch_chan_t *chp = ((evch_bind_t *)scp)->bd_channel;
1990 mutex_enter(&chp->ch_mutex);
1994 *chlenp = chp->ch_maxev;
1998 ochlen = chp->ch_maxev;
1999 chp->ch_maxev = min(chlen, evch_events_max);
2000 if (ochlen < chp->ch_maxev) {
2001 cv_signal(&chp->ch_pubcv);
2011 mutex_exit(&chp->ch_mutex);
2280 evch_chan_t *chp = ((evch_bind_t *)bp)->bd_channel;
2284 mutex_enter(&chp->ch_mutex);
2287 if (uid && uid != chp->ch_uid) {
2291 chp->ch_maxev = min(value, evch_events_max);
2296 mutex_exit(&chp->ch_mutex);
2304 evch_chan_t *chp = ((evch_bind_t *)bp)->bd_channel;
2307 mutex_enter(&chp->ch_mutex);
2310 *value = chp->ch_maxev;
2318 mutex_exit(&chp->ch_mutex);