Lines Matching full:specific
17 * without specific prior written permission.
114 if (curthread->specific == NULL) in _thread_cleanupspecific()
124 (curthread->specific[key].data != NULL)) { in _thread_cleanupspecific()
125 if (curthread->specific[key].seqno == in _thread_cleanupspecific()
127 data = curthread->specific[key].data; in _thread_cleanupspecific()
131 curthread->specific[key].data = NULL; in _thread_cleanupspecific()
133 } else if (curthread->specific[key].data != NULL) { in _thread_cleanupspecific()
142 curthread->specific[key].data = NULL; in _thread_cleanupspecific()
158 __thr_free(curthread->specific); in _thread_cleanupspecific()
159 curthread->specific = NULL; in _thread_cleanupspecific()
162 "thread-specific data after %d destructor iterations\n", in _thread_cleanupspecific()
180 if (pthread->specific == NULL) { in _thr_setspecific()
185 pthread->specific = tmp; in _thr_setspecific()
187 if (pthread->specific[key].data == NULL) { in _thr_setspecific()
192 pthread->specific[key].data = value; in _thr_setspecific()
193 pthread->specific[key].seqno = _thread_keytable[key].seqno; in _thr_setspecific()
204 /* Check if there is specific data. */ in _thr_getspecific()
211 if (_thread_keytable[key].allocated && pthread->specific != NULL && in _thr_getspecific()
212 pthread->specific[key].seqno == _thread_keytable[key].seqno) { in _thr_getspecific()
214 data = pthread->specific[key].data; in _thr_getspecific()