On Sunday 29 June 2003 23:21, Joerg Rossdeutscher wrote:
Nochmal in Kurzfassung: Ich will SEGV's abfangen, das Programm soll weiterlaufen, als wäre nichts gewesen. Und zwar lediglich für die Dauer eines Annotate-Befehls für Perlmagick, weil der auf einen kaputten Font stoßen könnte.
Würdet ihr das hier als einigermaßen saubere Lösung erachten?
Eigentlich nicht...
Wenn Du einen Segfault bekommst, ist ziemlich undefiniert, in welchem Zustand
die Variablen Deines Prozesses sind. Etwas völlig anderes zu machen (als das,
was Dein Programm normalerweise tut) und das Programm beenden (auch ohne
Core) ist zu verantworten. Wenn Du aber dann das gleiche nochmal startest
bzw. auch nur das Perl-Modul weiter verwendest, das den Segfault ausgelöst
hat, kann sonstwas passieren: In welchem Zustand sind dann die internen
Variablen dieses Moduls? Kann man es ggf. schaffen, daß Perl-Referenzen dann
in die Pampa zeigen - sozusagen "dangling pointers" in Perl?
OhGottOhGottOhGott...
Du kannst es ausprobieren, aber ich halte das für eine äußerst wackelige
Lösung.
CU
--
Stefan Hundhammer