-----------------------------------------------------------
#include
void * test2(void *);
static pthread_key_t r1_key;
static pthread_once_t r1_once = PTHREAD_ONCE_INIT;
void destructor(void *ptr)
{
sleep(10); <==== 주목!!!
printf("I am destructor addr %x\n", ptr);
free(ptr);
}
void once(void)
{
pthread_key_create(&r1_key, destructor);
}
main()
{
pthread_t tid[10];
pthread_t id;
int val = 3;
void **status;
int i, ret;
for ( i = 0; i < 10; i ++)
{
pthread_create((tid + i), NULL, test2, (void *)(tid + i));