/***************************************************************************** * FILE: hello_arg3.c * DESCRIPTION: * This "hello world" Pthreads program demonstrates an unsafe (incorrect) * way to pass thread arguments at thread creation. In this case, the * argument variable is changed by the main thread as it creates new threads. * AUTHOR: Blaise Barney * LAST REVISED: 06/27/07 ******************************************************************************/ #include #include #include #define NUM_THREADS 8 void *PrintHello(void *threadid) { int *id_ptr, taskid; sleep(1); id_ptr = (int *) threadid; taskid = *id_ptr; printf("Hello from thread %d\n", taskid); pthread_exit(NULL); } int main(int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc, t; for(t=0;t