#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#define NUM_THREADS 3
void *hello_thread(void *arg)
{
printf("Thread %ld : Hello world\n", (long int)arg
); return arg;
}
int main(void) {
pthread_t tid[NUM_THREADS];
long int i, status;
for(i=0 ; i<NUM_THREADS ; i++)
{
status = pthread_create(&tid[i], NULL, hello_thread, (void *)i);
if(status !=0)
{
fprintf(stderr
, "create thread %ld : %ld\n", i
, status
); }
}
pthread_exit(NULL);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KCiNkZWZpbmUgTlVNX1RIUkVBRFMgMwoKdm9pZCAqaGVsbG9fdGhyZWFkKHZvaWQgKmFyZykKewoJcHJpbnRmKCJUaHJlYWQgJWxkIDogSGVsbG8gd29ybGRcbiIsIChsb25nIGludClhcmcpOwoJcmV0dXJuIGFyZzsKfQoKaW50IG1haW4odm9pZCkgewoKCXB0aHJlYWRfdCB0aWRbTlVNX1RIUkVBRFNdOwoJbG9uZyBpbnQgaSwgc3RhdHVzOwoJCglmb3IoaT0wIDsgaTxOVU1fVEhSRUFEUyA7IGkrKykKCXsKCQlzdGF0dXMgPSBwdGhyZWFkX2NyZWF0ZSgmdGlkW2ldLCBOVUxMLCBoZWxsb190aHJlYWQsICh2b2lkICopaSk7CgkJaWYoc3RhdHVzICE9MCkKCQl7CgkJCWZwcmludGYoc3RkZXJyLCAiY3JlYXRlIHRocmVhZCAlbGQgOiAlbGRcbiIsIGksIHN0YXR1cyk7CgkJCWV4aXQoMSk7CgkJfQoJfQoJcHRocmVhZF9leGl0KE5VTEwpOwoJCglyZXR1cm4gMDsKfQo=