/* See what the implementation returns for TSD keys */

#include	"unpthread.h"

pthread_key_t	my_key;

int
main(int argc, char **argv)
{
	int		*iptr;

	Pthread_key_create(&my_key, NULL);
	printf("first key = %d\n", my_key);

	Pthread_key_create(&my_key, NULL);
	printf("second key = %d\n", my_key);

	Pthread_key_create(&my_key, NULL);
	printf("third key = %d\n", my_key);

	if ( (iptr = pthread_getspecific((pthread_key_t) 0)) == NULL)
		printf("key 0 pointer is NULL\n");
	else
		printf("value in key 0 = %d\n", *iptr);

	errno = 67;
	if ( (iptr = pthread_getspecific((pthread_key_t) 0)) == NULL)
		printf("key 0 pointer is NULL\n");
	else
		printf("value in key 0 = %d\n", *iptr);

	exit(0);
}


syntax highlighted by Code2HTML, v. 0.9.1