Lines Matching refs:consp
67 free_cons(vntsd_cons_t *consp) in free_cons() argument
69 assert(consp); in free_cons()
70 (void) mutex_destroy(&consp->lock); in free_cons()
71 (void) cond_destroy(&consp->cvp); in free_cons()
72 if (consp->vcc_fd != -1) in free_cons()
73 (void) close(consp->vcc_fd); in free_cons()
74 free(consp); in free_cons()
94 cleanup_cons(vntsd_cons_t *consp) in cleanup_cons() argument
99 assert(consp); in cleanup_cons()
101 consp->cons_no); in cleanup_cons()
103 groupp = consp->group; in cleanup_cons()
107 (void) mutex_lock(&consp->lock); in cleanup_cons()
110 while (consp->clientpq != NULL) { in cleanup_cons()
111 consp->status |= VNTSD_CONS_SIG_WAIT; in cleanup_cons()
114 (void) vntsd_que_walk(consp->clientpq, in cleanup_cons()
117 (void) thr_kill(consp->wr_tid, SIGUSR1); in cleanup_cons()
122 (void) cond_reltimedwait(&consp->cvp, &consp->lock, &to); in cleanup_cons()
131 (void) mutex_unlock(&consp->lock); in cleanup_cons()
133 free_cons(consp); in cleanup_cons()
149 find_clean_cons(vntsd_cons_t *consp) in find_clean_cons() argument
151 if (consp->status & VNTSD_CONS_DELETED) { in find_clean_cons()
163 vntsd_cons_t *consp; in vntsd_delete_cons() local
186 consp = vntsd_que_walk(groupp->conspq, in vntsd_delete_cons()
188 if (consp == NULL) { in vntsd_delete_cons()
195 (void) vntsd_que_rm(&groupp->conspq, consp); in vntsd_delete_cons()
199 cleanup_cons(consp); in vntsd_delete_cons()
275 vntsd_cons_t *consp; in alloc_cons() local
279 consp = (vntsd_cons_t *)malloc(sizeof (vntsd_cons_t)); in alloc_cons()
280 if (consp == NULL) { in alloc_cons()
286 bzero(consp, sizeof (vntsd_cons_t)); in alloc_cons()
288 (void) mutex_init(&consp->lock, USYNC_THREAD|LOCK_ERRORCHECK, NULL); in alloc_cons()
289 (void) cond_init(&consp->cvp, USYNC_THREAD, NULL); in alloc_cons()
291 consp->cons_no = consolep->cons_no; in alloc_cons()
292 (void) strlcpy(consp->domain_name, consolep->domain_name, MAXPATHLEN); in alloc_cons()
293 (void) strlcpy(consp->dev_name, consolep->dev_name, MAXPATHLEN); in alloc_cons()
294 consp->wr_tid = (thread_t)-1; in alloc_cons()
295 consp->vcc_fd = -1; in alloc_cons()
300 if ((rv = vntsd_que_append(&groupp->conspq, consp)) != in alloc_cons()
304 free_cons(consp); in alloc_cons()
308 consp->group = groupp; in alloc_cons()
313 consp->cons_no, consp->domain_name, consp->dev_name); in alloc_cons()
315 return (consp); in alloc_cons()
363 vntsd_mark_deleted_cons(vntsd_cons_t *consp) in vntsd_mark_deleted_cons() argument
365 (void) mutex_lock(&consp->lock); in vntsd_mark_deleted_cons()
366 consp->status |= VNTSD_CONS_DELETED; in vntsd_mark_deleted_cons()
367 (void) mutex_unlock(&consp->lock); in vntsd_mark_deleted_cons()
376 alloc_cons_with_group(vntsd_t *vntsdp, vcc_console_t *consp, in alloc_cons_with_group() argument
389 (compare_func_t)grp_by_tcp, (void *)&(consp->tcp_port)); in alloc_cons_with_group()
424 } else if (strcmp(groupp->group_name, consp->group_name)) { in alloc_cons_with_group()
440 groupp = alloc_group(vntsdp, consp->group_name, in alloc_cons_with_group()
441 consp->tcp_port); in alloc_cons_with_group()
460 if (alloc_cons(groupp, consp) == NULL) { in alloc_cons_with_group()
511 deleted_cons_by_consno(vntsd_cons_t *consp, int *cons_no) in deleted_cons_by_consno() argument
515 assert(consp); in deleted_cons_by_consno()
517 if (consp->cons_no != *cons_no) in deleted_cons_by_consno()
521 if ((consp->status & VNTSD_CONS_DELETED) == 0) in deleted_cons_by_consno()
524 if (consp->clientpq == NULL) in deleted_cons_by_consno()
529 clientp = (vntsd_client_t *)consp->clientpq->handle; in deleted_cons_by_consno()
542 vntsd_cons_t *consp; in find_cons_group_by_cons_no() local
544 consp = vntsd_que_find(groupp->conspq, in find_cons_group_by_cons_no()
546 return (consp != NULL); in find_cons_group_by_cons_no()
555 vntsd_cons_t *consp; in delete_cons_before_add() local
571 consp = vntsd_que_find(groupp->conspq, in delete_cons_before_add()
574 if (consp == NULL) { in delete_cons_before_add()
581 (void) mutex_lock(&consp->lock); in delete_cons_before_add()
583 if (consp->status & VNTSD_CONS_DELETED) { in delete_cons_before_add()
585 (void) mutex_unlock(&consp->lock); in delete_cons_before_add()
590 consp->status |= VNTSD_CONS_DELETED; in delete_cons_before_add()
593 (void) mutex_unlock(&consp->lock); in delete_cons_before_add()
684 vcc_console_t *consp; in vntsd_get_config() local
703 consp = malloc(num_cons*sizeof (vcc_console_t)); in vntsd_get_config()
705 if (consp == NULL) { in vntsd_get_config()
711 if (vntsd_vcc_ioctl(VCC_CONS_TBL, 0, (void *)consp) != VNTSD_SUCCESS) { in vntsd_get_config()
719 if (alloc_cons_with_group(vntsdp, &consp[i], &groupp) in vntsd_get_config()