Lines Matching refs:groupp
132 list_all_domains(vntsd_group_t *groupp, vntsd_client_t *clientp) in list_all_domains() argument
156 (void) mutex_lock(&groupp->lock); in list_all_domains()
158 if (vntsd_que_find(groupp->conspq, (compare_func_t)display_domain_name, in list_all_domains()
163 (void) mutex_unlock(&groupp->lock); in list_all_domains()
232 name_to_cons_no(vntsd_group_t *groupp, char *name) in name_to_cons_no() argument
236 consp = (vntsd_cons_t *)vntsd_que_find(groupp->conspq, in name_to_cons_no()
248 select_cons(vntsd_group_t *groupp, vntsd_cons_t **consp, in select_cons() argument
259 (void) mutex_lock(&groupp->lock); in select_cons()
260 if (groupp->num_cons == 0) { in select_cons()
261 (void) mutex_unlock(&groupp->lock); in select_cons()
265 (void) mutex_unlock(&groupp->lock); in select_cons()
300 cons_no = name_to_cons_no(groupp, buf+i); in select_cons()
318 (void) mutex_lock(&groupp->lock); in select_cons()
320 *consp = (vntsd_cons_t *)vntsd_que_find(groupp->conspq, in select_cons()
325 (void) mutex_unlock(&groupp->lock); in select_cons()
333 (void) mutex_unlock(&groupp->lock); in select_cons()
354 vntsd_group_t *groupp; in connect_cons() local
357 groupp = consp->group; in connect_cons()
358 assert(groupp); in connect_cons()
361 (void) mutex_lock(&groupp->lock); in connect_cons()
364 consp = vntsd_que_find(groupp->conspq, in connect_cons()
368 (void) mutex_unlock(&groupp->lock); in connect_cons()
372 (void) mutex_unlock(&groupp->lock); in connect_cons()
395 (void) mutex_unlock(&groupp->lock); in connect_cons()
408 rv = vntsd_que_rm(&groupp->no_cons_clientpq, clientp); in connect_cons()
412 (void) mutex_unlock(&groupp->lock); in connect_cons()
445 (void) mutex_lock(&groupp->lock); in connect_cons()
453 rv1 = vntsd_que_append(&groupp->no_cons_clientpq, clientp); in connect_cons()
454 (void) mutex_unlock(&groupp->lock); in connect_cons()
563 client_fini(vntsd_group_t *groupp, vntsd_client_t *clientp) in client_fini() argument
566 assert(groupp); in client_fini()
573 (void) mutex_lock(&groupp->lock); in client_fini()
579 if (vntsd_que_walk(groupp->conspq, (el_func_t)is_client_que_empty) == in client_fini()
581 (void) vntsd_que_walk(groupp->conspq, in client_fini()
586 (void) vntsd_que_rm(&groupp->no_cons_clientpq, clientp); in client_fini()
588 if ((groupp->no_cons_clientpq == NULL) && in client_fini()
589 (groupp->status & VNTSD_GROUP_SIG_WAIT)) { in client_fini()
595 (void) cond_signal(&groupp->cvp); in client_fini()
597 (void) mutex_unlock(&groupp->lock); in client_fini()
607 console_chk_status(vntsd_group_t *groupp, vntsd_client_t *clientp, int status) in console_chk_status() argument
613 thr_self(), status, clientp->status, groupp->num_cons); in console_chk_status()
616 " num_cos=%d", clientp->sockfd, groupp->num_cons); in console_chk_status()
622 (void) mutex_lock(&groupp->lock); in console_chk_status()
624 if (groupp->num_cons == 0) { in console_chk_status()
626 (void) mutex_unlock(&groupp->lock); in console_chk_status()
627 client_fini(groupp, clientp); in console_chk_status()
639 (void) mutex_unlock(&groupp->lock); in console_chk_status()
640 client_fini(groupp, clientp); in console_chk_status()
650 (void) mutex_unlock(&groupp->lock); in console_chk_status()
655 if ((groupp->num_cons == 1) && in console_chk_status()
657 (groupp->conspq->handle == clientp->cons))) { in console_chk_status()
659 (void) mutex_unlock(&groupp->lock); in console_chk_status()
660 client_fini(groupp, clientp); in console_chk_status()
662 (void) mutex_unlock(&groupp->lock); in console_chk_status()
671 (void) mutex_unlock(&groupp->lock); in console_chk_status()
673 (void) mutex_lock(&groupp->lock); in console_chk_status()
678 if (groupp->num_cons <= 1) { in console_chk_status()
679 (void) mutex_unlock(&groupp->lock); in console_chk_status()
680 client_fini(groupp, clientp); in console_chk_status()
685 (void) mutex_unlock(&groupp->lock); in console_chk_status()
692 if (groupp->num_cons == 1) { in console_chk_status()
694 (void) mutex_unlock(&groupp->lock); in console_chk_status()
699 clientp->cons = vntsd_que_pos(groupp->conspq, in console_chk_status()
702 (void) mutex_unlock(&groupp->lock); in console_chk_status()
707 (void) mutex_unlock(&groupp->lock); in console_chk_status()
720 if (groupp->num_cons == 0) { in console_chk_status()
721 (void) mutex_unlock(&groupp->lock); in console_chk_status()
722 client_fini(groupp, clientp); in console_chk_status()
724 (void) mutex_unlock(&groupp->lock); in console_chk_status()
731 (void) mutex_unlock(&groupp->lock); in console_chk_status()
736 (void) mutex_unlock(&groupp->lock); in console_chk_status()
738 client_fini(groupp, clientp); in console_chk_status()
747 vntsd_group_t *groupp; in vntsd_console_thread() local
758 groupp = (vntsd_group_t *)argp->handle; in vntsd_console_thread()
761 assert(groupp); in vntsd_console_thread()
770 groupp->tcp_port, clientp->sockfd); in vntsd_console_thread()
782 buf, groupp->group_name) >= sizeof (prompt)) { in vntsd_console_thread()
792 groupp->tcp_port, clientp->sockfd); in vntsd_console_thread()
794 num_cons = vntsd_chk_group_total_cons(groupp); in vntsd_console_thread()
800 console_chk_status(groupp, clientp, rv); in vntsd_console_thread()
803 num_cons = vntsd_chk_group_total_cons(groupp); in vntsd_console_thread()
814 rv = list_all_domains(groupp, clientp); in vntsd_console_thread()
835 (groupp->conspq->handle); in vntsd_console_thread()
853 rv = select_cons(groupp, &consp, clientp, cmd); in vntsd_console_thread()
887 console_chk_status(groupp, clientp, rv); in vntsd_console_thread()