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)