| #include <pthread.h> |
| #include <stdio.h> |
| #include <stdlib.h> |
| #include <string.h> |
| |
| constexpr int LOOP_COUNT = 100000000; |
| |
| void* ChildThreadFunction(void*) { |
| for (volatile int i = 0; i < LOOP_COUNT; ++i) { |
| } |
| return nullptr; |
| } |
| |
| void MainThreadFunction() { |
| for (volatile int i = 0; i < LOOP_COUNT; ++i) { |
| } |
| } |
| |
| int main() { |
| while (true) { |
| pthread_t thread; |
| int ret = pthread_create(&thread, nullptr, ChildThreadFunction, nullptr); |
| if (ret != 0) { |
| fprintf(stderr, "pthread_create failed: %s\n", strerror(ret)); |
| exit(1); |
| } |
| MainThreadFunction(); |
| ret = pthread_join(thread, nullptr); |
| if (ret != 0) { |
| fprintf(stderr, "pthread_join failed: %s\n", strerror(ret)); |
| exit(1); |
| } |
| } |
| return 0; |
| } |