output of client thread
Hello,
I have searched in group. I didnt get answer for my doubts. So i'm
posting this. It is very basic doubt on thread. I wrote below program
to start understanding the thread.
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
#include <pthread.h>
#include <errno.h>
extern int errno;
ofstream out;
void* do_loop(void* data)
{
int i;
int me = *((int*)data);
for (i=0; i<10; i++)
out << " i " << i << " me " << me << endl;
pthread_exit(NULL);
return data;
}
void perror(char *str)
{
cout << str << " : " << errno << endl;
exit (1);
}
int main(int argc, char* argv[])
{
int thr_id;
pthread_t p_thread;
int a = 1; /* new thread */
int b = 2; /* main thread */
thr_id = pthread_create(&p_thread, NULL, do_loop, (void*)&a);
if ( thr_id != 0 )
perror("Thread create failed");
out.open("log.txt", ios::app);
out << "I'm from main thread " << thr_id << endl;
out.close();
return 0;
}
Q1 : Always i get "Thread create failed". I dont find why?
Q2 : I wrote this program to see output writen by client thread in log
file? Is the logic correct?
I have tried the above sample program in HP-Unix B.11.11 U 9000/800 and
SunOS 5.6, Both are running in multiCPUs.... But It didnt work...
thx in advance for your help.
Regards,
Balaji.