| #include <pthread.h> |
| #include <stdio.h> |
| #include <unistd.h> |
| |
| void* runner(void*); |
| |
| int res = 0; |
| #ifdef __CLASSIC_C__ |
| int main() |
| { |
| int ac; |
| char* av[]; |
| #else |
| int main(int ac, char* av[]) |
| { |
| #endif |
| pthread_t tid[2]; |
| pthread_create(&tid[0], 0, runner, (void*)1); |
| pthread_create(&tid[1], 0, runner, (void*)2); |
| |
| #if defined(__BEOS__) && !defined(__ZETA__) /* (no usleep on BeOS 5.) */ |
| usleep(1); /* for strange behavior on single-processor sun */ |
| #endif |
| |
| pthread_join(tid[0], 0); |
| pthread_join(tid[1], 0); |
| if (ac > 1000) { |
| return *av[0]; |
| } |
| return res; |
| } |
| |
| void* runner(void* args) |
| { |
| int cc; |
| for (cc = 0; cc < 10; cc++) { |
| printf("%p CC: %d\n", args, cc); |
| } |
| res++; |
| return 0; |
| } |