Lines Matching refs:key
47 _pthread_key_create(pthread_key_t *key, void (*destructor) (void *)) in _pthread_key_create() argument
67 *key = i; in _pthread_key_create()
78 _pthread_key_delete(pthread_key_t key) in _pthread_key_delete() argument
83 if ((unsigned int)key < PTHREAD_KEYS_MAX) { in _pthread_key_delete()
87 if (_thread_keytable[key].allocated) in _pthread_key_delete()
88 _thread_keytable[key].allocated = 0; in _pthread_key_delete()
105 int key; in _thread_cleanupspecific() local
115 for (key = 0; (key < PTHREAD_KEYS_MAX) && in _thread_cleanupspecific()
116 (curthread->specific_data_count > 0); key++) { in _thread_cleanupspecific()
119 if (_thread_keytable[key].allocated && in _thread_cleanupspecific()
120 (curthread->specific[key].data != NULL)) { in _thread_cleanupspecific()
121 if (curthread->specific[key].seqno == in _thread_cleanupspecific()
122 _thread_keytable[key].seqno) { in _thread_cleanupspecific()
123 data = curthread->specific[key].data; in _thread_cleanupspecific()
124 destructor = _thread_keytable[key].destructor; in _thread_cleanupspecific()
126 curthread->specific[key].data = NULL; in _thread_cleanupspecific()
128 } else if (curthread->specific[key].data != NULL) { in _thread_cleanupspecific()
135 curthread->specific[key].data = NULL; in _thread_cleanupspecific()
190 _pthread_setspecific(pthread_key_t key, const void *value) in _pthread_setspecific() argument
200 if ((unsigned int)key < PTHREAD_KEYS_MAX) { in _pthread_setspecific()
201 if (_thread_keytable[key].allocated) { in _pthread_setspecific()
202 if (pthread->specific[key].data == NULL) { in _pthread_setspecific()
207 pthread->specific[key].data = value; in _pthread_setspecific()
208 pthread->specific[key].seqno = in _pthread_setspecific()
209 _thread_keytable[key].seqno; in _pthread_setspecific()
224 _pthread_getspecific(pthread_key_t key) in _pthread_getspecific() argument
233 if (pthread->specific != NULL && (unsigned int)key < PTHREAD_KEYS_MAX) { in _pthread_getspecific()
235 if (_thread_keytable[key].allocated && in _pthread_getspecific()
236 (pthread->specific[key].seqno == _thread_keytable[key].seqno)) { in _pthread_getspecific()
238 data = pthread->specific[key].data; in _pthread_getspecific()