ObjFW  Diff

Differences From Artifact [7b407a5ba1]:

To Artifact [44dc680850]:


50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
{
#ifndef _WIN32
	void *ret;

	if (pthread_join(thread, &ret))
		return NO;

	/* FIXME: Do we need a way to differentiate? */
	return (ret != PTHREAD_CANCELED ? YES : NO);
#else
	if (WaitForSingleObject(thread, INFINITE))
		return NO;

	CloseHandle(thread);








<







50
51
52
53
54
55
56

57
58
59
60
61
62
63
{
#ifndef _WIN32
	void *ret;

	if (pthread_join(thread, &ret))
		return NO;


	return (ret != PTHREAD_CANCELED ? YES : NO);
#else
	if (WaitForSingleObject(thread, INFINITE))
		return NO;

	CloseHandle(thread);

159
160
161
162
163
164
165











#ifndef _WIN32
	return (pthread_setspecific(key, p) ? NO : YES);
#else
	return (TlsSetValue(key, p) ? YES : NO);
#endif
}

















>
>
>
>
>
>
>
>
>
>
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174

#ifndef _WIN32
	return (pthread_setspecific(key, p) ? NO : YES);
#else
	return (TlsSetValue(key, p) ? YES : NO);
#endif
}

static OF_INLINE BOOL
of_tlskey_free(of_tlskey_t key)
{
#ifndef _WIN32
	return (pthread_key_delete(key) ? NO : YES);
#else
	return (TlsFree(key) ? YES : NO);
#endif
}