CheckForPthreads.c 625 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <stdio.h>
  2. #include <pthread.h>
  3. #include <unistd.h>
  4. void* runner(void*);
  5. int res = 0;
  6. #ifdef __CLASSIC_C__
  7. int main(){
  8. int ac;
  9. char*av[];
  10. #else
  11. int main(int ac, char*av[]){
  12. #endif
  13. pthread_t tid[2];
  14. pthread_create(&tid[0], 0, runner, (void*)1);
  15. pthread_create(&tid[1], 0, runner, (void*)2);
  16. usleep(1); // for strange behavior on single-processor sun
  17. pthread_join(tid[0], 0);
  18. pthread_join(tid[1], 0);
  19. if(ac > 1000){return *av[0];}
  20. return res;
  21. }
  22. void* runner(void* args)
  23. {
  24. int cc;
  25. for ( cc = 0; cc < 10; cc ++ )
  26. {
  27. printf("%d CC: %d\n", (int)args, cc);
  28. }
  29. res ++;
  30. return 0;
  31. }