test05.c 697 B

12345678910111213141516171819202122232425262728293031323334
  1. /* See what the implementation returns for TSD keys */
  2. #include "unpthread.h"
  3. pthread_key_t my_key;
  4. int
  5. main(int argc, char **argv)
  6. {
  7. int *iptr;
  8. Pthread_key_create(&my_key, NULL);
  9. printf("first key = %d\n", my_key);
  10. Pthread_key_create(&my_key, NULL);
  11. printf("second key = %d\n", my_key);
  12. Pthread_key_create(&my_key, NULL);
  13. printf("third key = %d\n", my_key);
  14. if ( (iptr = pthread_getspecific((pthread_key_t) 0)) == NULL)
  15. printf("key 0 pointer is NULL\n");
  16. else
  17. printf("value in key 0 = %d\n", *iptr);
  18. errno = 67;
  19. if ( (iptr = pthread_getspecific((pthread_key_t) 0)) == NULL)
  20. printf("key 0 pointer is NULL\n");
  21. else
  22. printf("value in key 0 = %d\n", *iptr);
  23. exit(0);
  24. }