.\" -*- coding: UTF-8 -*- .\" Written by Michael Haardt, Fri Nov 25 14:51:42 MET 1994 .\" .\" %%%LICENSE_START(GPLv2+_DOC_FULL) .\" This is free documentation; you can redistribute it and/or .\" modify it under the terms of the GNU General Public License as .\" published by the Free Software Foundation; either version 2 of .\" the License, or (at your option) any later version. .\" .\" The GNU General Public License's references to "object code" .\" and "executables" are to be interpreted as the output of any .\" document formatting or typesetting system, including .\" intermediate and printed output. .\" .\" This manual is distributed in the hope that it will be useful, .\" but WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the .\" GNU General Public License for more details. .\" .\" You should have received a copy of the GNU General Public .\" License along with this manual; if not, see .\" . .\" %%%LICENSE_END .\" .\" Added sigsetjmp, Sun Mar 2 22:03:05 EST 1997, jrv@vanzandt.mv.com .\" Modifications, Sun Feb 26 14:39:45 1995, faith@cs.unc.edu .\" " .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH SETJMP 3 "7. Januar 2014" "" Linux\-Programmierhandbuch .SH BEZEICHNUNG setjmp \- Stapelspeicher\-Zusammenhang für nicht lokale Verzweigung sichern .SH ÜBERSICHT \fB#include \fP .sp .nf \fBint setjmp(jmp_buf \fP\fIenv\fP\fB);\fP \fBint sigsetjmp(sigjmp_buf \fP\fIenv\fP\fB, int \fP\fIsavesigs\fP\fB);\fP .fi .sp .in -4n Mit Glibc erforderliche Makros (siehe \fBfeature_test_macros\fP(7)): .in .sp \fBsetjmp\fP(): siehe ANMERKUNGEN .br \fBsigsetjmp\fP(): _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_C_SOURCE .SH BESCHREIBUNG \fBsetjmp\fP() und \fBlongjmp\fP(3) sind nützlich für die Behandlung von Fehlern und Unterbrechungen, die in einem Unterprogramm niedriger Stufe eines Programms auftreten. \fBsetjmp\fP() sichert den Stapelspeicher\-Zusammenhang bzw. die Stapelspeicher\-Umgebung in \fIenv\fP für spätere Benutzung durch \fBlongjmp\fP(3). Der Stapelspeicher\-Zusammenhang wird ungültig, wenn die Funktion, die \fBsetjmp\fP() aufgerufen hat, beendet wird. .P \fBsigsetjmp\fP() ist \fBsetjmp\fP() ähnlich. Nur wenn \fIsavesigs\fP nicht Null ist, wird die aktuelle Signalmaske des Prozesses in \fIenv\fP gespeichert und wiederhergestellt, wenn später mit diesem \fIenv\fP ein \fBsiglongjmp\fP(3) durchgeführt wird. .SH RÜCKGABEWERT \fBsetjmp\fP() und \fBsigsetjmp\fP() geben 0 zurück, falls sie sofort zurückkehren, und nicht Null, wenn sie von \fBlongjmp\fP(3) oder \fBsiglongjmp\fP(3) zurückkehren und den gesicherten Zusammenhang benutzen. .SH "KONFORM ZU" C89, C99 und POSIX.1\-2001 spezifizieren \fBsetjmp\fP(). POSIX.1\-2001 spezifiziert \fBsigsetjmp\fP(). .SH ANMERKUNGEN POSIX spezifiziert nicht, ob \fBsetjmp\fP() die Signalmaske sichern wird (um sie später während \fBlongjmp\fP(3) wieder herzustellen). In System\-V wird es dies nicht tun. In 4.3BSD wird es dies tun und dort gibt es eine Funktion \fB_setjmp\fP, die es nicht tut. Unter Linux mit Glibc\-Versionen vor 2.19 folgte \fBsetjmp\fP() standardmäßig dem Verhalten von System V, aber das BSD\-Verhalten wird bereitgestellt, wenn das \fB_BSD_SOURCE\fP\-Feature\-Test\-Macro definiert ist und weder \fB_POSIX_SOURCE\fP, \fB_POSIX_C_SOURCE\fP, \fB_XOPEN_SOURCE\fP, \fB_XOPEN_SOURCE_EXTENDED\fP, \fB_GNU_SOURCE\fP noch \fB_SVID_SOURCE\fP definiert ist. Seit Glibc 2.19 stellt \fI\fP nur die System\-V\-Version von \fBsetjmp\fP() bereit. Programme, die die BSD\-Semantik benötigen, sollten Aufrufe von \fBsetjmp\fP() durch Aufrufe von \fBsigsetjmp\fP(), bei denen das Argument \fIsavesigs\fP ungleich numerisch Null ist, ersetzen. Falls Sie portable Signalmasken für das Speichern und Wiederherstellen möchten, benutzen Sie \fBsigsetjmp\fP() und \fBsiglongjmp\fP(3). .P \fBsetjmp\fP() und \fBsigsetjmp\fP() erschweren das Verständnis und die Verwaltung von Programmen. Falls möglich, sollte eine Alternative benutzt werden. .SH "SIEHE AUCH" \fBlongjmp\fP(3), \fBsiglongjmp\fP(3) .SH KOLOPHON Diese Seite ist Teil der Veröffentlichung 3.74 des Projekts Linux\-\fIman\-pages\fP. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter \%http://www.kernel.org/doc/man\-pages/. .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Patrick Rother und Chris Leick 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 .