Lines Matching refs:buffers
59 tlm_buffers_t *buffers = ndmp_malloc(sizeof (tlm_buffers_t)); in tlm_allocate_buffers() local
62 if (buffers == 0) in tlm_allocate_buffers()
66 buffers->tbs_buffer[buf].tb_buffer_data = in tlm_allocate_buffers()
68 if (buffers->tbs_buffer[buf].tb_buffer_data == 0) { in tlm_allocate_buffers()
73 free(buffers->tbs_buffer[i].tb_buffer_data); in tlm_allocate_buffers()
75 free(buffers); in tlm_allocate_buffers()
78 buffers->tbs_buffer[buf].tb_buffer_size = (write) in tlm_allocate_buffers()
80 buffers->tbs_buffer[buf].tb_full = FALSE; in tlm_allocate_buffers()
81 buffers->tbs_buffer[buf].tb_eof = FALSE; in tlm_allocate_buffers()
82 buffers->tbs_buffer[buf].tb_eot = FALSE; in tlm_allocate_buffers()
83 buffers->tbs_buffer[buf].tb_errno = 0; in tlm_allocate_buffers()
84 buffers->tbs_buffer[buf].tb_buffer_spot = 0; in tlm_allocate_buffers()
89 (void) mutex_init(&buffers->tbs_mtx, 0, NULL); in tlm_allocate_buffers()
90 (void) cond_init(&buffers->tbs_in_cv, 0, NULL); in tlm_allocate_buffers()
91 (void) cond_init(&buffers->tbs_out_cv, 0, NULL); in tlm_allocate_buffers()
93 buffers->tbs_data_transfer_size = xfer_size; in tlm_allocate_buffers()
94 buffers->tbs_ref = 1; in tlm_allocate_buffers()
95 return (buffers); in tlm_allocate_buffers()
104 tlm_release_buffers(tlm_buffers_t *buffers) in tlm_release_buffers() argument
108 if (buffers != NULL) { in tlm_release_buffers()
109 tlm_buffer_release_in_buf(buffers); in tlm_release_buffers()
110 tlm_buffer_release_out_buf(buffers); in tlm_release_buffers()
112 (void) mutex_lock(&buffers->tbs_mtx); in tlm_release_buffers()
114 if (--buffers->tbs_ref <= 0) { in tlm_release_buffers()
116 free(buffers->tbs_buffer[i].tb_buffer_data); in tlm_release_buffers()
120 (void) cond_destroy(&buffers->tbs_in_cv); in tlm_release_buffers()
121 (void) cond_destroy(&buffers->tbs_out_cv); in tlm_release_buffers()
122 (void) mutex_unlock(&buffers->tbs_mtx); in tlm_release_buffers()
123 (void) mutex_destroy(&buffers->tbs_mtx); in tlm_release_buffers()
124 free(buffers); in tlm_release_buffers()