NAME sem_init - initialize an unnamed semaphore LIBRARY POSIX threads library ( libpthread , -lpthread ) SYNOPSIS #include ... sem_init(sem_t * sem , int pshared , unsigned int val…semaphore that has been initialized by sem_init (3) should be destroyed using sem_destroy ... semaphore has been reinitialized using sem_init (3). RETURN VALUE sem_destroy () retur…argv[0]); exit(EXIT_FAILURE); } if (sem_init(&sem, 0, 0) == -1) handle_error("semargv[0]); exit(EXIT_FAILURE); } if (sem_init(&sem, 0, 0) == -1) handle_error("semargv[0]); exit(EXIT_FAILURE); } if (sem_init(&sem, 0, 0) == -1) handle_error("semunnamed semaphore must be initialized using sem_init (3). It can then be operated ... sem_destroy (3), sem_getvalue (3), sem_init (3), sem_open (3), sem_postprocess-shared, with value 0. */ if (sem_init(&shmp->sem1, 1, 0) == -1) errExit("sem ... init-sem1"); if (sem_init(&shmp->sem2, 1, 0) == -1) errExit("sem_init-sem2"); /* Waitprocess-shared, with value 0. */ if (sem_init(&shmp->sem1, 1, 0) == -1) errExit("sem ... init-sem1"); if (sem_init(&shmp->sem2, 1, 0) == -1) errExit("sem_init-sem2"); /* Waitsem_close () sem_destroy () sem_getvalue () sem_init () sem_open () sem_post () sem_trywait () sem