[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[RFR] man://manpages-de/man3/setjmp.3.po



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


Reply to: