Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       setjmp - Stapelspeicher-Zusammenhang für nicht lokale Verzweigung sichern

ÜBERSICHT

       #include <setjmp.h>

       int setjmp(jmp_buf env);

       int sigsetjmp(sigjmp_buf env, int savesigs);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       setjmp(): siehe ANMERKUNGEN
       sigsetjmp(): _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE

BESCHREIBUNG

       setjmp()  und longjmp(3) sind nützlich für die Behandlung von Fehlern und Unterbrechungen,
       die in einem Unterprogramm niedriger Stufe eines Programms auftreten. setjmp() sichert den
       Stapelspeicher-Zusammenhang  bzw. die Stapelspeicher-Umgebung in env für spätere Benutzung
       durch longjmp(3). Der Stapelspeicher-Zusammenhang wird ungültig, wenn  die  Funktion,  die
       setjmp() aufgerufen hat, beendet wird.

       sigsetjmp()  ist  setjmp()  ähnlich.  Nur  wenn savesigs nicht Null ist, wird die aktuelle
       Signalmaske des Prozesses in env gespeichert und wiederhergestellt, wenn später mit diesem
       env ein siglongjmp(3) durchgeführt wird.

RÜCKGABEWERT

       setjmp()  und  sigsetjmp()  geben 0 zurück, falls sie sofort zurückkehren, und nicht Null,
       wenn sie von longjmp(3) oder siglongjmp(3) zurückkehren und den  gesicherten  Zusammenhang
       benutzen.

KONFORM ZU

       C89, C99 und POSIX.1-2001 spezifizieren setjmp(). POSIX.1-2001 spezifiziert sigsetjmp().

ANMERKUNGEN

       POSIX  spezifiziert  nicht,  ob setjmp() die Signalmaske sichern wird. In System-V wird es
       dies nicht tun. In 4.3BSD wird es dies tun und dort gibt es eine Funktion _setjmp, die  es
       nicht   tut.  Standardmäßig  folgt  Linux/Glibc  dem  Verhalten  von  System-V,  aber  das
       BSD-Verhalten wird bereitgestellt, wenn das _BSD_SOURCE-Feature-Test-Macro  definiert  ist
       und   weder   _POSIX_SOURCE,   _POSIX_C_SOURCE,   _XOPEN_SOURCE,   _XOPEN_SOURCE_EXTENDED,
       _GNU_SOURCE noch _SVID_SOURCE definiert ist.

       Falls Sie portable Signalmasken für das Speichern und Wiederherstellen  möchten,  benutzen
       Sie sigsetjmp() und siglongjmp(3).

       setjmp()  und  sigsetjmp()  erschweren  das Verständnis und die Verwaltung von Programmen.
       Falls möglich, sollte eine Alternative benutzt werden.

SIEHE AUCH

       longjmp(3), siglongjmp(3)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  3.32  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts  und  Informationen, wie Fehler gemeldet werden können, finden
       sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother <krd@gulu.net>  und
       Chris Leick <c.leick@vollbio.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                          26. Juni 2009                                 SETJMP(3)