Usuwanie semafora nazwanego

Usuwanie semafora nazwanego
H5
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:66
0

Mam problem z usunięciem semafora nazwanego.
Fragment kodu:

Kopiuj
	sem_t *sem1;
	sem1=sem_open("semafor", O_CREAT, 0644, 1);
	sem_unlink("semafor");

Jednak semafor nie jest usuwany (komunikat: "No such file or directory").
Gdzie jest błąd? Z góry dziękuję za pomoc :)

edytowany 1x, ostatnio: hidden55
Zobacz pozostałe 2 komentarze
au7h
pobiera sem_t *sem
H5
Tak tak, mój błąd, sem_close(sem1) jak najbardziej działa, jednak z tego co rozumiem funkcja ta jedynie zamyka go, a nie usuwa, natomiast sem_unlink() go usuwa, a na tym właśnie mi zależy
au7h
najpierw wywołujesz sem_close(sem1); a później sem_unlink("semafor");
H5
Niestety to niczego nie zmienia, taki błąd wciąż wyskakuje :/
au7h
no to może przed nazwą daj znak "/" np "/semafor"
H5
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:66
0

Dopisałem linijkę z sem_close(sem1);

Kopiuj
	sem_t *sem1;
	sem1=sem_open("semafor", O_CREAT, 0644, 1);
	sem_close(sem1);
	sem_unlink("semafor");

Jednak sytuacja się nie zmienia. Napisanie "/semafor" również nie pomaga

edytowany 3x, ostatnio: hidden55
kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:około 16 godzin
  • Lokalizacja:Szczecin
1
Kopiuj
int main()
{

    sem_t *sem1;
    int value;
    if((sem1 = sem_open("semafor", O_CREAT | O_EXCL, 0644, 1))) {
        // stuff
    } else if((sem1 = sem_open("semafor", O_EXCL, 0644, 1))) {
        // other stuff
    }
    assert(sem1);
    sem_getvalue(sem1, &value);
    printf("Wartosc semafora to %d\n", value);
    sem_close(sem1);
    sem_unlink("semafor");
}

U mnie działa. Tworzenie już istniejącego semafora się nie powodzi, co oczywiste.


edytowany 1x, ostatnio: kq
H5
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:66
0

A jeśli u mnie wciąż nie, to gdzie mogę jeszcze szukać błędu?

YA
  • Rejestracja:około 10 lat
  • Ostatnio:3 minuty
  • Postów:2370
0

A pokaż co leci przy wywołaniach systemowych: strace ./twój_program

AL
  • Rejestracja:prawie 11 lat
  • Ostatnio:około 3 lata
  • Postów:1493
0

I pytanie czy z roota działa

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.