#include #include #include #include sem_t done; void * child(void *arg) { sleep(5); printf("child\n"); sem_post(&done); return NULL; } int main(int argc, char *argv[]) { pthread_t p; printf("parent: begin\n"); sem_init(&done, 0, 0); pthread_create(&p, NULL, child, NULL); sem_wait(&done); printf("parent: end\n"); return 0; }