Projekt

Ogólne

Profil

Błąd #721

Obiektowy problem z busy_flag w EDP

Dodane przez Anonimowy prawie 13 lat temu. Zaktualizowane ponad 10 lat temu.

Status:
Odrzucony
Priorytet:
Niski
Przypisany do:
-
Kategoria:
EDP
Data rozpoczęcia:
2011-12-23
Data oddania:
% Wykonania:

0%


Opis

Problem objawia się tym, że w pewnych scenariuszach po śmierci EDP zostaje nagrobek w postaci busy flag.

Moim zdaniem przyczyną jest to, że flaga nie jest usuwana w DESTRUKTORZE klasy edp_shell.

Jako flagę można chyba użyć:
http://www.boost.org/doc/libs/1_48_0/doc/html/interprocess/synchronization_mechanisms.html#interprocess.synchronization_mechanisms.file_lock

Historia

#1 Uaktualnione przez Tomek Winiarski prawie 13 lat temu

Problem jest mało ważny bo w tym pliku jest zapisany pid, wiec nawet jak plik zostaje to nie bruździ

#2 Uaktualnione przez Tomek Winiarski prawie 13 lat temu

  • Zmieniono Status z Nowy na Odrzucony

Obence rozwiazanie oceniam jako porawne

#3 Uaktualnione przez Anonimowy prawie 13 lat temu

  • Ustawiono Kategoria na EDP
  • Zmieniono Status z Odrzucony na W Toku
Problemy obecnej implementacji to:
  • pusty destruktor klasy edp_shell() jest zbędny
  • destruktor (jaki by nie był) nigdzie nie jest odpalany (obiekt nigdzie nie jest kasowany)
  • wychodzenie z programu (np. przez wywołanie exit() wymaga pamiętania, aby ręcznie wywoływać metodę close_hardware_busy_file()) -- czy jest to wszędzie robione?
  • close_hardware_busy_file() zawsze zwraca nieudokumentowaną wartość TRUE
  • z tworzeniem pliku przez kilka procesów związany jest wyścig
  • i na koniec najmniej istotne - z tą klasą związany jest wyciek (obiekt w ogóle nie jest nigdzie usuwany).

Moim zdaniem rozwiązanie z takimi problemami nie jest poprawne. Powyższe uwagi dotyczą typowych/widocznych niedociągnięć programistycznych.
Nie wiem czy/który z powyższych błędów powodował pozostawianie pliku po śmierci procesu. Być może jest to objaw jakiegoś problemu związanego
ze współbieżnością, stąd nieusuwanie tej flagi jest trudne do odtworzenia.

#4 Uaktualnione przez Tomek Winiarski prawie 13 lat temu

  • Zmieniono Status z W Toku na Nowy
  • Usunięto Przypisany do (Tomek Winiarski)

dziękuję za uwagi. Przydzielam to do nikogo bo uważam mimo wszytko, że nie czas i miejsce to na podobne porpawki. Znajdę osobę kompetentną we właściwym miejscu i czasie to przydzielę buga.

#5 Uaktualnione przez Tomek Winiarski ponad 10 lat temu

  • Zmieniono Status z Nowy na Odrzucony

Eksportuj do Atom PDF