Błąd #721
Obiektowy problem z busy_flag w EDP
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
- 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