Home | History | Annotate | Download | only in pixman

Lines Matching refs:tls_

127     static volatile int tls_ ## name ## _initialized = 0;		\
128 static void *tls_ ## name ## _mutex = NULL; \
129 static unsigned tls_ ## name ## _index; \
132 tls_ ## name ## _alloc (void) \
136 TlsSetValue (tls_ ## name ## _index, value); \
141 tls_ ## name ## _get (void) \
144 if (!tls_ ## name ## _initialized) \
146 if (!tls_ ## name ## _mutex) \
150 &tls_ ## name ## _mutex, mutex, NULL) != NULL) \
155 WaitForSingleObject (tls_ ## name ## _mutex, 0xFFFFFFFF); \
156 if (!tls_ ## name ## _initialized) \
158 tls_ ## name ## _index = TlsAlloc (); \
159 tls_ ## name ## _initialized = 1; \
161 ReleaseMutex (tls_ ## name ## _mutex); \
163 if (tls_ ## name ## _index == 0xFFFFFFFF) \
165 value = TlsGetValue (tls_ ## name ## _index); \
167 value = tls_ ## name ## _alloc (); \
172 tls_ ## name ## _get ()
186 static pthread_once_t tls_ ## name ## _once_control = PTHREAD_ONCE_INIT; \
187 static pthread_key_t tls_ ## name ## _key; \
190 tls_ ## name ## _destroy_value (void *value) \
196 tls_ ## name ## _make_key (void) \
198 pthread_key_create (&tls_ ## name ## _key, \
199 tls_ ## name ## _destroy_value); \
203 tls_ ## name ## _alloc (void) \
207 pthread_setspecific (tls_ ## name ## _key, value); \
212 tls_ ## name ## _get (void) \
215 if (pthread_once (&tls_ ## name ## _once_control, \
216 tls_ ## name ## _make_key) == 0) \
218 value = pthread_getspecific (tls_ ## name ## _key); \
220 value = tls_ ## name ## _alloc (); \
226 tls_ ## name ## _get ()