Lines Matching refs:consp

55 display_domain_name(vntsd_cons_t *consp,  int  *fd)  in display_domain_name()  argument
61 if (consp->clientpq != NULL) { in display_domain_name()
63 } else if (consp->status & VNTSD_CONS_DELETED) { in display_domain_name()
70 consp->cons_no, consp->domain_name, status, vntsd_eol); in display_domain_name()
107 create_write_thread(vntsd_cons_t *consp) in create_write_thread() argument
110 assert(consp); in create_write_thread()
113 (void) mutex_lock(&consp->lock); in create_write_thread()
115 (void *)consp, NULL, &consp->wr_tid)) { in create_write_thread()
119 thr_self(), consp->cons_no); in create_write_thread()
120 (void) close(consp->vcc_fd); in create_write_thread()
121 consp->vcc_fd = -1; in create_write_thread()
122 (void) mutex_unlock(&consp->lock); in create_write_thread()
126 (void) mutex_unlock(&consp->lock); in create_write_thread()
222 cons_by_name(vntsd_cons_t *consp, char *name) in cons_by_name() argument
224 if (consp->status & VNTSD_CONS_DELETED) { in cons_by_name()
227 return (strcmp(consp->domain_name, name) == 0); in cons_by_name()
234 vntsd_cons_t *consp; in name_to_cons_no() local
236 consp = (vntsd_cons_t *)vntsd_que_find(groupp->conspq, in name_to_cons_no()
239 if (consp == NULL) { in name_to_cons_no()
243 return (consp->cons_no); in name_to_cons_no()
248 select_cons(vntsd_group_t *groupp, vntsd_cons_t **consp, in select_cons() argument
320 *consp = (vntsd_cons_t *)vntsd_que_find(groupp->conspq, in select_cons()
323 if (*consp == NULL) { in select_cons()
329 if ((*consp)->status & VNTSD_CONS_DELETED) { in select_cons()
340 find_cons_in_group(vntsd_cons_t *consp_in_group, vntsd_cons_t *consp) in find_cons_in_group() argument
342 if (consp_in_group == consp) { in find_cons_in_group()
351 connect_cons(vntsd_cons_t *consp, vntsd_client_t *clientp) in connect_cons() argument
356 assert(consp); in connect_cons()
357 groupp = consp->group; in connect_cons()
364 consp = vntsd_que_find(groupp->conspq, in connect_cons()
365 (compare_func_t)find_cons_in_group, consp); in connect_cons()
367 if (consp == NULL) { in connect_cons()
371 if (consp->status & VNTSD_CONS_DELETED) { in connect_cons()
376 (void) mutex_lock(&consp->lock); in connect_cons()
380 clientp->cons = consp; in connect_cons()
385 if (consp->clientpq == NULL && consp->vcc_fd == -1) { in connect_cons()
391 consp->vcc_fd = vntsd_open_vcc(consp->dev_name, consp->cons_no); in connect_cons()
392 if (consp->vcc_fd < 0) { in connect_cons()
394 (void) mutex_unlock(&consp->lock); in connect_cons()
396 assert(consp->group); in connect_cons()
397 return (vntsd_vcc_err(consp)); in connect_cons()
411 rv = vntsd_que_append(&consp->clientpq, clientp); in connect_cons()
415 if (consp->clientpq->handle == clientp) { in connect_cons()
417 (void) close(consp->vcc_fd); in connect_cons()
418 consp->vcc_fd = -1; in connect_cons()
421 (void) mutex_unlock(&consp->lock); in connect_cons()
425 (void) mutex_unlock(&consp->lock); in connect_cons()
427 if (consp->clientpq->handle == clientp) { in connect_cons()
429 rv = create_write_thread(consp); in connect_cons()
436 if ((rv = write_connect_msg(clientp, consp->group->group_name, in connect_cons()
437 consp->domain_name)) != VNTSD_SUCCESS) { in connect_cons()
448 (void) mutex_lock(&consp->lock); in connect_cons()
449 rv1 = vntsd_que_rm(&consp->clientpq, clientp); in connect_cons()
456 if (consp->clientpq == NULL) { in connect_cons()
458 assert(consp->vcc_fd != -1); in connect_cons()
461 assert(consp->wr_tid != (thread_t)-1); in connect_cons()
462 (void) thr_kill(consp->wr_tid, SIGUSR1); in connect_cons()
463 (void) mutex_unlock(&consp->lock); in connect_cons()
464 (void) thr_join(consp->wr_tid, NULL, NULL); in connect_cons()
465 (void) mutex_lock(&consp->lock); in connect_cons()
468 if (consp->status & VNTSD_CONS_SIG_WAIT) { in connect_cons()
470 (void) cond_signal(&consp->cvp); in connect_cons()
473 (void) mutex_unlock(&consp->lock); in connect_cons()
525 is_client_que_empty(vntsd_cons_t *consp) in is_client_que_empty() argument
529 (void) mutex_lock(&consp->lock); in is_client_que_empty()
531 if (consp->clientpq != NULL) in is_client_que_empty()
534 (void) mutex_unlock(&consp->lock); in is_client_que_empty()
546 close_one_vcc_fd(vntsd_cons_t *consp) in close_one_vcc_fd() argument
548 (void) mutex_lock(&consp->lock); in close_one_vcc_fd()
550 if (consp->vcc_fd != -1) { in close_one_vcc_fd()
551 (void) close(consp->vcc_fd); in close_one_vcc_fd()
552 consp->vcc_fd = -1; in close_one_vcc_fd()
555 (void) mutex_unlock(&consp->lock); in close_one_vcc_fd()
748 vntsd_cons_t *consp; in vntsd_console_thread() local
834 consp = (vntsd_cons_t *) in vntsd_console_thread()
841 consp = clientp->cons; in vntsd_console_thread()
845 rv = connect_cons(consp, clientp); in vntsd_console_thread()
853 rv = select_cons(groupp, &consp, clientp, cmd); in vntsd_console_thread()
868 consp = clientp->cons; in vntsd_console_thread()
870 assert(consp); in vntsd_console_thread()
873 rv = connect_cons(consp, clientp); in vntsd_console_thread()