Home | History | Annotate | Download | only in internal

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) {
55 if (pthread_setspecific(tsd_tsd, (void *)wrapper) != 0) {
63 tsd_wrapper_t *wrapper = (tsd_wrapper_t *)pthread_getspecific(tsd_tsd);
65 if (init && unlikely(wrapper == NULL)) {
67 wrapper = (tsd_wrapper_t *)
69 if (wrapper) {
70 return wrapper;
72 wrapper = (tsd_wrapper_t *)
74 block.data = (void *)wrapper;
75 if (wrapper == NULL) {
79 wrapper->initialized = false;
81 wrapper->val = initializer;
83 tsd_wrapper_set(wrapper);
86 return wrapper;
101 tsd_wrapper_t *wrapper;
102 wrapper = (tsd_wrapper_t *)malloc_tsd_malloc(sizeof(tsd_wrapper_t));
103 if (wrapper == NULL) {
109 wrapper->initialized = false;
111 wrapper->val = initializer;
112 tsd_wrapper_set(wrapper);
137 tsd_wrapper_t *wrapper;
140 wrapper = tsd_wrapper_get(init);
141 if (tsd_get_allocates() && !init && wrapper == NULL) {
144 return &wrapper->val;
149 tsd_wrapper_t *wrapper;
152 wrapper = tsd_wrapper_get(true);
153 if (likely(&wrapper->val != val)) {
154 wrapper->val = *(val);
156 wrapper->initialized = true;