121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
-
+
-
+
-
|
#else
LeaveCriticalSection(mutex);
return YES;
#endif
}
static OF_INLINE BOOL
of_tlskey_new(of_tlskey_t *key, void (*destructor)(id))
of_tlskey_new(of_tlskey_t *key)
{
#ifndef _WIN32
return (pthread_key_create(key, (void(*)(void*))destructor) ? NO : YES);
return (pthread_key_create(key, NULL) ? NO : YES);
#else
/* FIXME: Call destructor */
return ((*key = TlsAlloc()) == TLS_OUT_OF_INDEXES ? NO : YES);
#endif
}
static OF_INLINE id
of_tlskey_get(of_tlskey_t key)
{
|