Lines Matching defs:wrapper
33 tsd_wrapper_t *wrapper = (tsd_wrapper_t *)arg;
35 if (wrapper->initialized) {
36 wrapper->initialized = false;
37 tsd_cleanup(&wrapper->val);
38 if (wrapper->initialized) {
40 if (pthread_setspecific(tsd_tsd, (void *)wrapper) != 0)
50 malloc_tsd_dalloc(wrapper);
54 tsd_wrapper_set(tsd_wrapper_t *wrapper) {
58 if (pthread_setspecific(tsd_tsd, (void *)wrapper) != 0) {
66 tsd_wrapper_t *wrapper;
72 wrapper = (tsd_wrapper_t *)pthread_getspecific(tsd_tsd);
74 if (init && unlikely(wrapper == NULL)) {
76 wrapper = (tsd_wrapper_t *)
78 if (wrapper) {
79 return wrapper;
81 wrapper = (tsd_wrapper_t *)
83 block.data = (void *)wrapper;
84 if (wrapper == NULL) {
88 wrapper->initialized = false;
93 wrapper->val = initializer;
95 tsd_wrapper_set(wrapper);
98 return wrapper;
103 tsd_wrapper_t *wrapper;
106 wrapper = (tsd_wrapper_t *)
108 if (wrapper) {
123 tsd_wrapper_t *wrapper;
124 wrapper = (tsd_wrapper_t *)malloc_tsd_malloc(sizeof(tsd_wrapper_t));
125 if (wrapper == NULL) {
131 wrapper->initialized = false;
136 wrapper->val = initializer;
137 tsd_wrapper_set(wrapper);
162 tsd_wrapper_t *wrapper;
165 wrapper = tsd_wrapper_get(init);
166 if (tsd_get_allocates() && !init && wrapper == NULL) {
169 return &wrapper->val;
174 tsd_wrapper_t *wrapper;
177 wrapper = tsd_wrapper_get(true);
178 if (likely(&wrapper->val != val)) {
179 wrapper->val = *(val);
181 wrapper->initialized = true;