PDA

View Full Version : HELP in a Thread code


full_adder
14th August 2008, 13:28
Hi everyone

I wrote the following code from an OS book. But when I compiled it the following msg had appeared:

In function 'main': undefined reference to 'pthread_create'
In function 'main': undefined reference to 'pthread_join'

I don't understand what it means exactly!!



#include<pthread.h>
#include<stdio.h>
int sum;
void* runner(void *param);
int main(int argc, char *argv[]){
pthread_t tid;
pthread_attr_t attr;

if(argc !=2){
printf("usage: a.out <int value>\n");
return -1;
}
if( atoi(argv[1]) < 0 ){
printf("%d must be >= 0\n",atoi(argv[1]));
return -1;
}
pthread_attr_init(&attr);
pthread_create(&tid,&attr,(void *)runner,(void *)argv[1]);
pthread_join(tid,NULL);

printf("sum = %d\n",sum);
}
void* runner(void *param){
int i, upper=atoi(param);
sum=0;
for(i=1;i<=upper;i++)
sum +=i;
pthread_exit(0);
}

tempora
14th September 2008, 17:13
compile this code in the following way

gcc code.c -lpthread

where code.c is assumed to be the filename of your c code.


I have just registered to reply. i shall not be checking back. so, dont expect a reply. sorry for inconvenience.