Lines Matching refs:access

37  * be used to allocate memory that requires access control or usage
38 * count control, will initialize this access control structure at the
59 if (access->data != data) \
63 access = (nscd_access_t *) \
71 * Decrements the usage count maintained in the access data
79 nscd_access_t *access;
88 (me, "data = %p, access->data = %p, "
90 data, access->data, access->seq_num, access->nUse);
93 (void) mutex_lock(&access->mutex);
94 access->nUse--;
95 if (access->nUse < 0) {
99 if (access->nUse <= 0 &&
100 access->delete == 1) {
103 (me, "deleting data %p\n", access->data);
104 (access->free_func)(access->data);
108 * holding the access->mutex lock, It is safe
114 (void) mutex_unlock(&access->mutex);
134 nscd_access_t *access;
143 (me, "data = %p, access->data = %p\n", data, access->data);
146 (void) mutex_lock(&access->mutex);
147 access->delete = 1;
148 (void) mutex_unlock(&access->mutex);
163 nscd_access_t *access;
174 (me, "data = %p, access->data = %p, seq#= %lld, nUse = %d\n",
175 data, access->data, access->seq_num, access->nUse);
183 * to prevent the access data from being
187 access->seq_num)) == NULL) {
194 (void) mutex_lock(&access->mutex);
195 if (access->delete == 1)
198 access->nUse++;
199 (void) mutex_unlock(&access->mutex);
255 nscd_access_t *access;
267 (me, "data = %p, access->data = %p\n", data, access->data);
270 assert(access->data_rwlock != NULL);
272 (void) rw_rdlock(access->data_rwlock);
288 nscd_access_t *access;
300 (me, "data = %p, access->data = %p\n", data, access->data);
303 assert(access->data_rwlock != NULL);
305 (void) rw_wrlock(access->data_rwlock);
319 nscd_access_t *access;
328 (me, "data = %p, access->data = %p\n",
329 data, access->data);
332 assert(access->data_rwlock != NULL);
334 (void) rw_unlock(access->data_rwlock);
349 nscd_access_t *access;
357 assert(access->data_rwlock != NULL);
359 (void) rw_unlock(access->data_rwlock);
373 nscd_access_t *access;
385 (me, "data = %p, access->data = %p\n", data, access->data);
388 assert(access->data_mutex != NULL);
390 (void) mutex_lock(access->data_mutex);
405 nscd_access_t *access;
414 (me, "data = %p, access->data = %p\n", data, access->data);
417 assert(access->data_mutex != NULL);
419 (void) mutex_unlock(access->data_mutex);
433 nscd_access_t *access;
442 (me, "data = %p, access->data = %p\n", data, access->data);
445 assert(access->data_cond != NULL && access->data_mutex != NULL);
448 (void) cond_wait(access->data_cond, access->data_mutex);
450 (void) cond_wait(cond, access->data_mutex);
462 nscd_access_t *access;
471 (me, "data = %p, access->data = %p\n", data, access->data);
474 assert(access->data_cond != NULL);
476 (void) cond_signal(access->data_cond);
496 nscd_access_t *access;
537 access = (nscd_access_t *)ptr;
538 access->data = (char *)ptr + sizeof_access;
539 access->data_mutex = mutex;
540 access->data_rwlock = rwlock;
541 access->data_cond = cond;
542 access->nUse = 0;
543 access->delete = 0;
544 access->type = type;
545 access->free_func = data_free;
546 access->seq_num = seq_num;
549 if (_nscd_add_int_addr(access->data, type,
555 return (access->data);
567 nscd_access_t *access;
576 _nscd_del_int_addr(access->data, access->seq_num);
578 if (access->data_mutex)
579 free(access->data_mutex);
580 if (access->data_rwlock)
581 free(access->data_rwlock);
582 if (access->data_cond)
583 free(access->data_cond);
585 (void) memset(access, 0, sizeof (*access));
587 free(access);