#include #include #include #include /* g++ minifail_dave.cpp -o minifail_dave -O0 -pthread -g i=0; while true; do i=$(($i+1)); echo Run $i; ./minifail_dave; done; */ void* thread_run(void* arg) { write(1,"Thread OK.\n",11); } int pure_test() { pthread_t thread; pthread_create(&thread, NULL, thread_run, NULL); switch (fork()) { case -1: perror("fork() failed"); case 0: write(1,"Child OK.\n",10); _exit(0); default: break; } pthread_join(thread, NULL); return 0; } int main(int argc, char** argv) { return pure_test(); }