Como inicializar um semáforo binário em C

Noman page parece que mesmo se você inicializar um semáforo com um valor igual a um:

sem_init(&mySem, 0, 1);

Pode ainda ser incrementado para um valor maior que 1 com várias chamadas para

sem_post(&mySem);

Mas nestecode example o comentário parece pensar de forma diferente:

sem_init(&mutex, 0, 1);      /* initialize mutex to 1 - binary semaphore */

possível inicializar um semáforo estritamente binário em

Nota: O motivo para fazer isso, em vez de usar um mutex, neste caso, é o sem_post e o sem_wait pode ser chamado por segmentos diferente

questionAnswers(1)

yourAnswerToTheQuestion