home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: de.comp.os.unix
- Path: sparky!uunet!math.fu-berlin.de!Germany.EU.net!news.Hamburg.Germany.EU.net!malihh!heaven7.in-berlin.de!martini
- From: martini@heaven7.in-berlin.de (Martin P. Ibert)
- Subject: Re: Teile des Heaps r/o machen? Aufsetzen nach SIGSEGV?
- Message-ID: <HZA0YZH@heaven7.in-berlin.de>
- Date: Wed, 30 Dec 1992 08:39:53 GMT
- Content-Transfer-Encoding: 8bit
- References: <1992Dec27.013809.25893@oops.zigzag.hanse.de>
- Content-Type: text/plain; charset=ISO-8859-1
- Mime-Version: 1.0
- Organization: The Seventh Heaven, Berlin, Germany
- Lines: 34
-
- fs@oops.zigzag.hanse.de (Frank Seitz) writes:
- > Das ist nach meiner Erfahrung nicht richtig. Ein Return aus einem
- > SIGSEGV-Handler fuehrt zu einem erneuten SIGSEGV, nicht aber zur
- > Fortsetzung des Programms. Das gilt selbst dann, wenn man
- > den korrupten Speicherzugriff im Handler "korrigiert".
-
- Das ist nicht unbedingt richtig.
-
- > Folgendes Programm fuehrt (unter SVR3.2) zu einer "Totschleife",
- > in der der der SIGSEGV-Handler h() unendlich oft aufgerufen wird.
- > Zur Ausfuehrung der Anweisung ,,printf("byebye...\n")'' kommt es
- > nie:
-
- Das ist bei mir auch so, aber sehen wir uns einmal den Assemblercode an!
-
- mov.l i,%a0
- mov.l &4711,(%a0)
-
- Das ist die Stelle, an der es raucht. Das erste mov.l wird ausgefuehrt.
- Okay, easy, 0 problemo. Das zweite mov.l wird ausgefuehrt. RAWUMM!! Nun
- kommt Dein Handler her und veraendert den Wert von i. Jetzt wird das
- Programm _mit_dem_zweiten_mov.l_ wieder aufgesetzt. Es bringt nichts, den
- Wert von i zu veraendern, der ist zu dem Zeitpunkt naemlich schon in einem
- Register und wird nicht mehr veraendert.
-
- Haette man stattdessen den Zugriff auf die Adresse erlaubt, auf die i zeigt,
- wuerde es vermultlich gehen. Dh Dein Programm ist kein Argument gegen die
- skizzierte Loesung des urspruenglichen Problems.
- --
- __*__ | Martin Ibert, Westendallee 100 d, D-1000 Berlin 19, Germany
- ----| |---- | Phone: +4930-3056541 - E-Mail: martini@heaven7.in-berlin.de
- ============= | -----------------------------------------------------------
- | | | | | | | "Blind faith in your leaders, or in anything,
- | | | | | | | will get you killed." (Bruce Springsteen)
-