#include <stdio.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <semaphore.h>
#define SEM_NAME "/my_semaphore"
int main(void)
{
sem_t *my_sem;
int rc, pvalue;
my_sem = sem_open(SEM_NAME, O_CREAT, 0644, 1);
if(my_sem == SEM_FAILED) {
printf("sem_open failed\n");
return 0;
}
printf("Asteapta la semafor!\n");
sem_wait(my_sem);
rc = sem_getvalue(my_sem, &pvalue);
printf("sem is %d\n", pvalue);
getchar();
sem_post(my_sem);
rc = sem_close(my_sem);
if(rc == -1)
printf("sem_close failed\n");
rc = sem_unlink(SEM_NAME);
if(rc == -1)
printf("sem_unlink failed\n");
return 0;
}