These all have POSIX equivalents, but aside from tss_get, they all have minor changes to the signature or return value and thus need to exist as separate functions.
14 lines
246 B
C
14 lines
246 B
C
#include "pthread_impl.h"
|
|
#include <threads.h>
|
|
|
|
int tss_set(tss_t k, void *x)
|
|
{
|
|
struct pthread *self = __pthread_self();
|
|
/* Avoid unnecessary COW */
|
|
if (self->tsd[k] != x) {
|
|
self->tsd[k] = x;
|
|
self->tsd_used = 1;
|
|
}
|
|
return thrd_success;
|
|
}
|