#ifdef _CIVL #include #endif /***************************************************************************** * FILE: bug3.c * DESCRIPTION: * This "hello world" Pthreads program demonstrates an unsafe (incorrect) * way to pass thread arguments at thread creation. Compare with hello_arg1.c. * AUTHOR: Blaise Barney * LAST REVISED: 01/29/09 ******************************************************************************/ #include #include #include #define NUM_THREADS 2 void *PrintHello(void *threadid) { long taskid = *((long*)threadid); //sleep(1); printf("Hello from thread %ld\n", taskid); #pragma CIVL $assert((taskid != NUM_THREADS)); pthread_exit(NULL); } int main(int argc, char *argv[]) { pthread_t threads[NUM_THREADS]; int rc; long t; for(t=0;t