#include #include #include using namespace std; void* ThreadFun(void*) { sleep(5); } int main(int argc, char** argv) { if (argc > 1) { pid_t pid = fork(); if (pid < 0) { return 1; } else if (pid > 0) { return 0; } } pthread_attr_t t_attr; assert(!pthread_attr_init(&t_attr)); assert(!pthread_attr_setdetachstate(&t_attr, PTHREAD_CREATE_JOINABLE)); pthread_t thread_handle; assert(!pthread_create(&thread_handle, &t_attr, &ThreadFun, 0)); assert(!pthread_join(thread_handle, 0)); return 0; }