#include #include #include #include void* pth1(void *args) { pthread_key_t key, key2; int value = 1; void *getv; getv = pthread_getspecific(key); assert(getv == NULL); pthread_key_create(&key, NULL); getv = pthread_getspecific(key); assert(getv == NULL); pthread_setspecific(key, &value); getv = pthread_getspecific(key); assert(getv == &value); getv = pthread_getspecific(key2); assert(getv == NULL); pthread_key_delete(key); return NULL; } int main() { pthread_t t1; pthread_create(&t1, NULL, pth1, NULL); pthread_join(t1, NULL); return 0; }