Piszę swój pierwszy program z semaforami i natrafiłem na pewien problem. Póki co chcę utworzyć semafor, nadać mu wartość początkową 1, a następnie ją uzyskać za pomocą odpowiedniej funkcji i wyświetlić na ekranie. Przy pierwszym uruchomieniu programu wszystko działa, jednak każda następna próba kończy się błędem "Naruszenie ochrony pamięci". Przy ponownym uruchomieniu komputera problem się powtarza - przy pierwszym uruchomieniu działa, każde inne kończy się błędem. O co może chodzić?
sem_t *sem1;
int value;
sem1=sem_open("semafor", O_CREAT | O_EXCL, 0644, 1);
sem_getvalue(sem1, &value);
printf("Wartosc poczatkowa semafora to %d\n", value);
sem_close(sem1);
Z góry dziękuję za pomoc :)