Hallo Mitübersetzer, die angehängte Handbuchseite von knapp 60 Zeichenketten ist bis auf 5 Stück komplett übersetzt. Für konstruktive Kritik an der Übersetzung wäre ich wie üblich sehr dankbar. Vielen Dank & Grüße Helge -- Dr. Helge Kreutzmann debian@helgefjell.de Dipl.-Phys. http://www.helgefjell.de/debian.php 64bit GNU powered gpg signed mail preferred Help keep free software "libre": http://www.ffii.de/
# German translation of manpages # This file is distributed under the same license as the manpages-de package. # Copyright © of this file: # Patrick Rother <krd@gulu.net>, 1996. # Chris Leick <c.leick@vollbio.de>, 2010-2014. # Helge Kreutzmann <debian@helgefjell.de>, 2016. msgid "" msgstr "" "Project-Id-Version: manpages-de 1.4-1\n" "POT-Creation-Date: 2016-07-23 11:31+0200\n" "PO-Revision-Date: 2016-09-22 17:32+0200\n" "Last-Translator: Dr. Tobias Quathamer <toddy@debian.org>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 2.0\n" #. type: TH #, no-wrap msgid "SETJMP" msgstr "SETJMP" #. type: TH #, no-wrap msgid "2016-03-15" msgstr "15. März 2016" #. type: TH #, no-wrap msgid "Linux Programmer's Manual" msgstr "Linux-Programmierhandbuch" #. type: SH #, no-wrap msgid "NAME" msgstr "BEZEICHNUNG" #. type: Plain text msgid "setjmp, sigsetjmp, longjmp, siglongjmp - performing a nonlocal goto" msgstr "" "setjmp, sigsetjmp, longjmp, siglongjmp - Nichtlokale Verzweigung durchführen" #. type: SH #, no-wrap msgid "SYNOPSIS" msgstr "ÜBERSICHT" #. type: Plain text msgid "B<#include E<lt>setjmp.hE<gt>>" msgstr "B<#include E<lt>setjmp.hE<gt>>" #. type: Plain text #, no-wrap msgid "" "B<int setjmp(jmp_buf >I<env>B<);>\n" "B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>B<);>\n" msgstr "" "B<int setjmp(jmp_buf >I<env>B<);>\n" "B<int sigsetjmp(sigjmp_buf >I<env>B<, int >I<savesigs>B<);>\n" #. type: Plain text #, no-wrap msgid "" "B<void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n" "B<void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n" msgstr "" "B<void longjmp(jmp_buf >I<env>B<, int >I<val>B<);>\n" "B<void siglongjmp(sigjmp_buf >I<env>B<, int >I<val>B<);>\n" #. type: Plain text msgid "" "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):" msgstr "Mit Glibc erforderliche Makros (siehe B<feature_test_macros>(7)):" #. type: Plain text #, no-wrap msgid "" "B<setjmp>():\n" " see NOTES.\n" msgstr "" "B<setjmp>():\n" " siehe ANMERKUNGEN.\n" #. type: Plain text msgid "B<sigsetjmp>(): _POSIX_C_SOURCE" msgstr "B<sigsetjmp>(): _POSIX_C_SOURCE" #. type: SH #, no-wrap msgid "DESCRIPTION" msgstr "BESCHREIBUNG" #. type: Plain text msgid "" "The functions described on this page are used for performing \"nonlocal gotos" "\": transferring execution from one function to a predetermined location in " "another function. The B<setjmp>() function dynamically establishes the " "target to which control will later be transferred, and B<longjmp>() " "performs the transfer of execution." msgstr "" "Die auf dieser Seite beschriebenen Funktionen werden für »nichtlokale Gotos« " "verwandt: Übergabe der Ausführung von einer Funktion zu einer vorbestimmten " "Stelle in einer anderen Funktion. Die Funktion B<setjmp>() etabliert " "dynamisch das Ziel, zu dem die Steuerung später übergeben wird und " "B<longjmp>() führt den Ausführungstransfer aus." #. type: Plain text msgid "" "The B<setjmp>() function saves various information about the calling " "environment (typically, the stack pointer, the instruction pointer, possibly " "the values of other registers and the signal mask) in the buffer I<env> for " "later use by B<longjmp>(). In this case, B<setjmp>() returns 0." msgstr "" "Die Funktion B<setjmp>() speichert verschiedene Informationen über die " "aufrufende Umgebung (typischerweise den Stack-Zeiger, den Anweisungszeiger, " "möglicherweise die Werte von anderen Registern und die Signalmaske) im " "Puffer I<env> für die spätere Verwendung durch B<longjmp>(). In diesem Fall " "liefert B<setjmp>() 0 zurück." #. type: Plain text msgid "" "The B<longjmp>() function uses the information saved in I<env> to transfer " "control back to the point where B<setjmp>() was called and to restore " "(\"rewind\") the stack to its state at the time of the B<setjmp>() call. " "In addition, and depending on the implementation (see NOTES), the values of " "some other registers and the process signal mask may be restored to their " "state at the time of the B<setjmp>() call." msgstr "" "Die Funktion B<longjmp>() verwendet die in I<env> gespeicherten " "Informationen, um die Steuerung zu dem Punkt zurückzuübergeben, an dem " "B<setjmp>() aufgerufen worden war und den Stack auf seinem Zustand zum " "Zeitpunkt des Aufrufs von B<setjmp>() wiederherzustellen (»zurückzuspulen«). " "Zusätzlich und abhängig von der Implementierung (siehe ANMERKUNGEN) können " "die Werte einiger anderer Register und der Prozesssignalmaske auf den Wert " "zum Zeitpunkt des Aufrufs von B<setjmp>() wiederhergestellt werden." #. type: Plain text msgid "" "Following a successful B<longjmp>(), execution continues as if B<setjmp>() " "had returned for a second time. This \"fake\" return can be distinguished " "from a true B<setjmp>() call because the \"fake\" return returns the value " "provided in I<val>. If the programmer mistakenly passes the value 0 in " "I<val>, the \"fake\" return will instead return 1." msgstr "" "Nach einem erfolgreichen B<longjmp>() fährt die Ausführung so fort, als ob " "B<setjmp>() ein zweites Mal zurückgekehrt wäre. Diese »Schummel«-Rückkehr " "kann von einem echten Aufruf von B<setjmp>() unterschieden werden, da die " "»Schummel«-Rückkehr den in I<val> bereitgestellten Wert zurückliefert. Falls " "der Programmierer fehlerhafterweise den Wert 0 in I<val> weitergibt, wird " "die »Schummel«-Rückkehr stattdessen 1 zurückliefern." #. type: SS #, no-wrap msgid "sigsetjmp() and siglongjmp()" msgstr "sigsetjmp() und siglongjmp()" #. type: Plain text msgid "" "B<sigsetjmp>() and B<siglongjmp>() also perform nonlocal gotos, but " "provide predictable handling of the process signal mask." msgstr "" "B<sigsetjmp>() und B<siglongjmp>() führen auch nichtlokale Gotos durch, " "stellen aber eine vorhersehbare Behandlung der Prozesssignalmaske bereit." #. type: Plain text msgid "" "If, and only if, the I<savesigs> argument provided to B<sigsetjmp>() is " "nonzero, the process's current signal mask is saved in I<env> and will be " "restored if a B<siglongjmp>() is later performed with this I<env>." msgstr "" "Nur wenn das an B<sigsetjmp>() übergebene Argument I<savesigs> nicht Null " "ist, wird die aktuelle Signalmaske des Prozesses in I<env> gespeichert und " "wiederhergestellt, wenn später mit diesem I<env> ein B<siglongjmp> " "durchgeführt wird." #. type: SH #, no-wrap msgid "RETURN VALUE" msgstr "RÜCKGABEWERT" #. type: Plain text msgid "" "B<setjmp>() and B<sigsetjmp>() return 0 when called directly; on the \"fake" "\" return that occurs after B<longjmp>() or B<siglongjmp>(), the nonzero " "value specified in I<val> is returned." msgstr "" "B<setjmp>() und B<sigsetjmp>() geben 0 zurück, wenn sie direkt aufgerufen " "wurden; bei dem \"nachgeahmten\" Zurückkehren, das nach B<longjmp>() und " "B<siglongjmp>() auftritt, wird der in I<val> angegebene Nichtnull-Wert " "zurückgegeben." #. type: Plain text msgid "The B<longjmp>() or B<siglongjmp>() functions do not return." msgstr "Die Funktionen B<longjmp>() oder B<siglongjmp>() kehren nicht zurück." #. type: SH #, no-wrap msgid "ATTRIBUTES" msgstr "ATTRIBUTE" #. type: Plain text msgid "" "For an explanation of the terms used in this section, see B<attributes>(7)." msgstr "" "Siehe B<attributes>(7) für eine Erläuterung der in diesem Abschnitt " "verwandten Ausdrücke." #. type: tbl table #, no-wrap msgid "Interface" msgstr "Schnittstelle" #. type: tbl table #, no-wrap msgid "Attribute" msgstr "Attribut" #. type: tbl table #, no-wrap msgid "Value" msgstr "Wert" #. type: tbl table #, no-wrap msgid "" "B<setjmp>(),\n" "B<sigsetjmp>()\n" msgstr "" "B<setjmp>(),\n" "B<sigsetjmp>()\n" #. type: tbl table #, no-wrap msgid "Thread safety" msgstr "Multithread-Fähigkeit" #. type: tbl table #, no-wrap msgid "MT-Safe" msgstr "MT-Safe" #. type: tbl table #, no-wrap msgid "" "B<longjmp>(),\n" "B<siglongjmp>()\n" msgstr "" "B<longjmp>(),\n" "B<siglongjmp>()\n" #. type: SH #, no-wrap msgid "CONFORMING TO" msgstr "KONFORM ZU" #. type: Plain text msgid "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C89, C99." msgstr "B<setjmp>(), B<longjmp>(): POSIX.1-2001, POSIX.1-2008, C89, C99." #. type: Plain text msgid "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008." msgstr "B<sigsetjmp>(), B<siglongjmp>(): POSIX.1-2001, POSIX.1-2008." #. type: SH #, no-wrap msgid "NOTES" msgstr "ANMERKUNGEN" #. .BR _XOPEN_SOURCE_EXTENDED , #. type: Plain text msgid "" "POSIX does not specify whether B<setjmp>() will save the signal mask (to be " "later restored during B<longjmp>(). In System V it will not. In 4.3BSD it " "will, and there is a function B<_setjmp> that will not. On Linux with glibc " "versions before 2.19, B<setjmp>() follows the System V behavior by default, " "but the BSD behavior is provided if the B<_BSD_SOURCE> feature test macro is " "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, " "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined. Since glibc 2.19, " "I<E<lt>setjmp.hE<gt>> exposes only the System V version of B<setjmp>(). " "Programs that need the BSD semantics should replace calls to B<setjmp>() " "with calls to B<sigsetjmp>() with a nonzero I<savesigs> argument." msgstr "" "POSIX spezifiziert nicht, ob B<setjmp>() die Signalmaske sichern wird (um " "sie später während B<longjmp> wieder herzustellen). In System-V wird es dies " "nicht tun. In 4.3BSD wird es dies tun und dort gibt es eine Funktion " "B<_setjmp>, die es nicht tut. Unter Linux mit Glibc-Versionen vor 2.19 " "folgte B<setjmp>() standardmäßig dem Verhalten von System V, aber das BSD-" "Verhalten wird bereitgestellt, wenn das B<_BSD_SOURCE>-Feature-Test-Macro " "definiert ist und weder B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, " "B<_XOPEN_SOURCE>, B<_GNU_SOURCE> noch B<_SVID_SOURCE> definiert ist. Seit " "Glibc 2.19 stellt I<E<lt>setjmp.hE<gt>> nur die System-V-Version von " "B<setjmp>() bereit. Programme, die die BSD-Semantik benötigen, sollten " "Aufrufe von B<setjmp>() durch Aufrufe von B<sigsetjmp>(), bei denen das " "Argument I<savesigs> ungleich numerisch Null ist, ersetzen." #. type: Plain text msgid "" "B<setjmp>() and B<longjmp>(3) can be useful for dealing with errors inside " "deeply nested function calls or to allow a signal handler to pass control to " "a specific point in the program, rather than returning to the point where " "the handler interrupted the main program. In the latter case, if you want " "to portably save and restore signal masks, use B<sigsetjmp>() and " "B<siglongjmp>(). See also the discussion of program readability below." msgstr "" "B<setjmp>() und B<longjmp>(3) können zum Umgang mit Fehlern innerhalb " "tiefverschachtelter Funktionsaufrufe nützlich sein, oder um einem Signal-" "Handler zu ermöglichen, die Steuerung an einen bestimmten Punkt in dem " "Programm zu übrgeben, statt zu dem Punkt zurückzukehren, andem der Handler " "das Hauptprogramm unterbrochen hat. In letzterem Falle verwenden Sie " "B<sigsetjmp>() und B<siglongjmp>(), falls die portable die Signalmaske " "speichern und wiederherstellen möchten. Lesen Sie auch die Diskussion zur " "Programmlesbarkeit weiter unten." #, fuzzy #. type: Plain text msgid "" "The compiler may optimize variables into registers, and B<longjmp>() may " "restore the values of other registers in addition to the stack pointer and " "program counter. Consequently, the values of automatic variables are " "unspecified after a call to B<longjmp>() if they meet all the following " "criteria:" msgstr "" "Der Compiler kann Variablen in Register optimieren und B<longjmp>() kann " "zusätzlich zum FIXME-Zeiger und dem Programmzähler die Werte anderer Register " "wiederherstellen. Daher ist der Wert von automatischen Variablen nach einem " "Aufruf von B<longjmp>() undefiniert, falls alle folgenden Kriterien zutreffen:" #. type: IP #, no-wrap msgid "\\(bu" msgstr "\\(bu" #. type: Plain text msgid "" "they are local to the function that made the corresponding B<setjmp>(3) " "call;" msgstr "" "sie sind für die Funktion, die den entsprechenden Aufruf B<setjmp>(3) " "durchführte, lokal," #. type: Plain text msgid "" "their values are changed between the calls to B<setjmp>(3) and " "B<longjmp>(); and" msgstr "" "ihre Werte sind zwischen Aufrufen von B<setjmp>(3) und B<longjmp>() " "geändert, und" #. type: Plain text msgid "they are not declared as I<volatile>." msgstr "sie sind nicht als I<volatile> deklariert." #. type: Plain text msgid "Analogous remarks apply for B<siglongjmp>()." msgstr "Entsprechende Anmerkungen gelten für B<siglongjmp>()." #. type: SS #, no-wrap msgid "Nonlocal gotos and program readability" msgstr "Nicht lokale GOTOs und Programmlesbarkeit" #. type: Plain text msgid "" "While it can be abused, the traditional C \"goto\" statement at least has " "the benefit that lexical cues (the goto statement and the target label) " "allow the programmer to easily perceive the flow of control. Nonlocal gotos " "provide no such cues: multiple B<setjmp>() calls might employ the same " "I<jmp_buf> variable so that the content of the variable may change over the " "lifetime of the application. Consequently, the programmer may be forced to " "perform detailed reading of the code to determine the dynamic target of a " "particular B<longjmp>() call. (To make the programmer's life easier, each " "B<setjmp>() call should employ a unique I<jmp_buf> variable.)" msgstr "" "Auch wenn er missbraucht werden kann, hat der traditionelle »goto«-Ausdruck " "von C zumindest den Vorteil, dass lexikalische Hinweise (der Goto-Ausdruck " "und die Zielmarkierung) dem Programmier erlauben, leicht den Ablauf zu " "verstehen. Nichtlokale Gotos stellen keine solchen Hinweise bereit: mehrere " "Aufrufe von B<setjmp>() können die gleiche Variable I<jmp_buf> einsetzen, so " "dass der Inhalt der Variablen sich über die Lebensdauer des Programmes " "verändern kann. Konsequenterweise kann der Programmerer dazu gezwungen sein, " "den Code detailliert zu lesen, um das dynammische Ziel eines bestimmten " "Aufrufs von B<longjmp>() zu ermitteln. (Um das Leben der Programmierer zu " "erleichtern, sollte jeder Aufruf von B<setjmp>() eine eineindeutige Variable " "I<jmp_buf> einsetzen.)" #. type: Plain text msgid "" "Adding further difficulty, the B<setjmp>() and B<longjmp>() calls may not " "even be in the same source code module." msgstr "" "Weitere Schwierigkeiten kommen hinzu, da die Aufrufe von B<setjmp>() und " "B<longjmp>() nicht zwingend im gleichen Quellcodemodul sein müssen." #. type: Plain text msgid "" "In summary, nonlocal gotos can make programs harder to understand and " "maintain, and an alternative should be used if possible." msgstr "" "Zusammenfassend erschweren nicht lokale GOTOs das Verständnis und die " "Verwaltung von Programmen. Falls möglich, sollte eine Alternative benutzt " "werden." #. type: SS #, no-wrap msgid "Caveats" msgstr "Vorsicht" #. type: Plain text msgid "" "If the function which called B<setjmp>() returns before B<longjmp>() is " "called, the behavior is undefined. Some kind of subtle or unsubtle chaos is " "sure to result." msgstr "" "Falls die Funktion, die B<setjmp>() aufruft, zurückkehrt, bevor B<longjmp>() " "aufgerufen wird, ist das Verhalten undefiniert. Irgendwelches subtiles oder " "nicht so subtiles Chaos entstehdt bestimmt dadurch." # # #. The following statement appeared in versions up to POSIX.1-2008 TC1, #. but is set to be removed in POSIX.1-2008 TC2: #. According to POSIX.1, if a #. .BR longjmp () #. call is performed from a nested signal handler #. (i.e., from a handler that was invoked in response to a signal that was #. generated while another signal was already in the process of being #. handled), the behavior is undefined. #. type: Plain text msgid "" "If, in a multithreaded program, a B<longjmp>() call employs an I<env> " "buffer that was initialized by a call to B<setjmp>() in a different thread, " "the behavior is undefined." msgstr "" #. http://austingroupbugs.net/view.php?id=516#c1195 #. type: Plain text msgid "" "POSIX.1-2008 Technical Corrigendum 2 adds B<longjmp>() and B<siglongjmp>() " "to the list of async-signal-safe functions. However, the standard " "recommends avoiding the use of these functions from signal handlers and goes " "on to point out that if these functions are called from a signal handler " "that interrupted a call to a non-async-signal-safe function (or some " "equivalent, such as the steps equivalent to B<exit>(3) that occur upon a " "return from the initial call to I<main>()), the behavior is undefined if the " "program subsequently makes a call to a non-async-signal-safe function. The " "only way of avoiding undefined behavior is to ensure one of the following:" msgstr "" #. type: IP #, no-wrap msgid "*" msgstr "*" #. type: Plain text msgid "" "After long jumping from the signal handler, the program does not call any " "non-async-signal-safe functions and does not return from the initial call to " "I<main>()." msgstr "" #. type: Plain text msgid "" "Any signal whose handler performs a long jump must be blocked during " "I<every> call to a non-async-signal-safe function and no non-async-signal-" "safe functions are called after returning from the initial call to I<main>()." msgstr "" #. type: SH #, no-wrap msgid "SEE ALSO" msgstr "SIEHE AUCH" #. type: Plain text msgid "B<signal>(7)" msgstr "B<signal>(7)" #. type: SH #, no-wrap msgid "COLOPHON" msgstr "KOLOPHON" #. type: Plain text msgid "" "This page is part of release 4.07 of the Linux I<man-pages> project. A " "description of the project, information about reporting bugs, and the latest " "version of this page, can be found at \\%https://www.kernel.org/doc/man-" "pages/." msgstr "" "Diese Seite ist Teil der Veröffentlichung 4.07 des Projekts Linux-I<man-" "pages>. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet " "werden können sowie die aktuelle Version dieser Seite finden sich unter \\" "%https://www.kernel.org/doc/man-pages/."
Attachment:
signature.asc
Description: Digital signature