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

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



Hallo Chris,
On Tue, Oct 11, 2016 at 10:46:23PM +0200, Chris Leick wrote:
> > #. type: Plain text
> > msgid "setjmp, sigsetjmp, longjmp, siglongjmp - performing a nonlocal goto"
> > msgstr ""
> > "setjmp, sigsetjmp, longjmp, siglongjmp - Nichtlokale Verzweigung
> > durchführen"
> 
> s/Nichtlokale Verzweigung/nichtlokaler Sprungbefehl/
> (auch nachfolgend)

mit s/nichtlokaler/nichtlokalen/ übernommen.

Aber das kommt nicht nochmal vor, daher nicht »nachfolgend« geändert.

> > #. 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."
> 
> s/war und den Stack/war, um den Stack/

Im Original steht »and«, daher sehe ich das als zwei nicht zwingend
(»um zu«) verbundene Punkte. Nicht geändert.

> > #. 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."
> 
> s/tiefverschachtelter/tief verschachtelter/

Geht beides?

> > #. 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.)"
> 
> s/des Programmes/des Programms/

Geht beides.

> > #.  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 ""
> 
> POSIX.1-2008 Technical Corrigendum 2 fügt B<longjmp>() und B<siglongjmp>() zur 
> Liste der asynchronsignalsicheren Funktionen hinzu. Der Standard empfiehlt 
> jedoch den Gebrauch dieser Funktionen von Signal-Handlern 
> (Signalbehandlungsroutinen?) zu vermeiden. Es fährt damit fort, zu betonen, 
> dass, falls diese Funktionen von einem Signal-Handler aufgerufen werden, dies 
> einen Aufruf zu einer nicht asynchronsignalsicheren Funktion (oder etwas 
> gleichbedeutendem, wie den Schritten die B<exit>(3) entsprechen, die über eine 
> Rückkehr vom initialen Aufruf zu I<main>() auftreten) gleichkommt. Das 
> Verhalten ist nicht definiert, falls das Programm nachfolgend einen Aufruf zu 
> einer nicht asynchronsignalsicheren Funktion tätigt. Der einzige Weg, nicht 
> definiertes Verhalten zu vermeiden, ist, eines des Nachfolgenden 
> sicherzustellen.

Ich habe »Technical Corrigendum« noch übersetzt.
Das »(Signalbehandlungsroutinen?)« habe ich entfernt.
Ich habe »von von Signal-Handlern« in »aus Signal-Handlern« geändert.
… und ein paar weitere kleinere Änderungen

"POSIX.1-2008 Technische Berichtigung 2 fügt B<longjmp>() und B<siglongjmp>() "
"zur Liste der asynchronsignalsicheren Funktionen hinzu. Der Standard "
"empfiehlt jedoch den Gebrauch dieser Funktionen aus Signal-Handlern zu "
"vermeiden. Sie fährt damit fort, zu betonen, dass, falls diese Funktionen von "
"einem Signal-Handler aufgerufen werden, der einen Aufruf einer nicht "
"asynchronsignalsicheren Funktion unterbrochen hatte (oder etwas "
"gleichbedeutendem, wie den Schritten, die B<exit>(3) entsprechen, die über "
"eine Rückkehr vom initialen Aufruf zu I<main>() auftreten). Das Verhalten "
"ist nicht definiert, falls das Programm nachfolgend einen Aufruf einer nicht "
"asynchronsignalsicheren Funktion durchführt. Der einzige Weg, nicht "
"definiertes Verhalten zu vermeiden, ist, eines des Nachfolgenden "
"sicherzustellen:"

> > #. 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 ""
> 
> Nach langen Sprüngen vom Signal-Handler, ruft das Programm nciht irgendwelche 
> nicht asynchronsignalsicheren Funktionen auf und kehrt nicht von initalen 
> Aufruf von I<main>() zurück

Ähnlich übernommen:
"Nach langen Sprüngen vom Signal-Handler ruft das Programm keine "
"asynchronsignalsicheren Funktionen auf und kehrt nicht von initalen Aufruf "
"von I<main>() zurück."

> > #. 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 ""
> 
> Jedes Signal, das einen langen Sprung durchführt, muss während I<jedem> Aufruf 
> einer nicht asynchronsignalsicheren Funktion blockiert werden und keine nicht 
> asynchronsignalsichere Funktion wird nach der Rückkehr vom initalen Aufruf von 
> I<main>() aufgerufen.

Ähnlich übernommen:
"Jedes Signal, dessen Handler einen langen Sprung durchführt, muss während "
"I<jedes> Aufrufs einer nicht asynchronsignalsicheren Funktion blockiert "
"werden und keine nicht asynchronsignalsicheren Funktionen werden nach der "
"Rückkehr vom initalen Aufruf von I<main>() aufgerufen."

Vielen Dank, gerade und auch für die neuen Zeichenketten.

Wie üblich habe ich Dich ins Copyright aufgenommen.

Viele 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/

Attachment: signature.asc
Description: Digital signature


Reply to: