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

Re: [LCFC] man://manpages-de/clone.2



Hallo Chris,
Am 18. April 2011 22:19 schrieb Chris Leick <c.leick@vollbio.de>:
> 147 Strings.
>
> Wenn keine weiteren Fehler entdeckt werden, möchte ich diese Handbuchseite
> am 24.4. einreichen.
>
> Gruß,
> Chris
spät aber doch meine Änderungsvorschläge. Allgemein hat das Original sehr viele
doppelte Leerzeichen, ist das so beabsichtigt?

>msgid ""
>"Unlike B<fork>(2), these calls allow the child process to share parts of its "
>"execution context with the calling process, such as the memory space, the "
>"table of file descriptors, and the table of signal handlers.  (Note that on "
>"this manual page, \"calling process\" normally corresponds to \"parent "
>"process\".  But see the description of B<CLONE_PARENT> below.)"
>msgstr ""
>"Im Gegensatz zu B<fork>(2) erlauben diese Aufrufe, dass der Kindprozess Teile "
>"seines Kontextes mit dem aufrufenden Prozess teilt. Dazu zählen der "
>"Speicherplatz, die Tabelle der Dateideskriptoren und die Tabelle der "
>"Signal-Handler. (Beachten Sie, dass »aufrufender Prozess« auf dieser "
>"Handbuchseite »Elternprozess« entspricht. Aber lesen Sie im Folgenden die "
>"Beschreibung von B<CLONE_PARENT>."
Hier fehlt eine Klammer: "Beschreibung von B<CLONE_PARENT>.)"

>msgid ""
>"When the I<fn>(I<arg>)  function application returns, the child process "
>"terminates.  The integer returned by I<fn> is the exit code for the child "
>"process.  The child process may also terminate explicitly by calling B<exit>"
>"(2)  or after receiving a fatal signal."
>msgstr ""
>"Kehrt die Funktion I<fn>(I<arg>) zurück, so beendet sich der Kindprozess. "
>"Der Ganzzahlwert, der von I<fn> zurückgeliefert wird, entspricht dem "
>"Exit-Code des Kindprozesses. Der Kindprozess kann auch durch den expliziten "
>"Aufruf von B<exit>(1) oder durch den Empfang eines fatalen Signals beendet "
>"werden."
<exit>(1) -> <exit>(2)

>msgid ""
>"A UTS namespace is the set of identifiers returned by B<uname>(2); among "
>"these, the domain name and the host name can be modified by B<setdomainname>"
>"(2)  and B<sethostname>(2), respectively.  Changes made to the identifiers "
>"in a UTS namespace are visible to all other processes in the same namespace, "
>"but are not visible to processes in other UTS namespaces."
>msgstr ""
>"Ein UTS-Namensraum ist eine Zusammenstellung von Bezeichnern, die von "
>"B<uname>(2) zurückgegeben werden; von denen können der Domain-Name und der "
>"Rechnername durch B<setdomainname> beziehungsweise B<sethostname>(2) geändert "
>"werden. Änderungen, die an Bezeichnern in einem UTS-Namensraum vorgenommen "
>"werden, sind für alle anderen Prozesse im gleichen Namensraum sichtbar, nicht "
>"jedoch für Prozesse in anderen UTS-Namensräumen.
B<setdomainname> ->  B<setdomainname>(2)

>msgid ""
>"Erase child thread ID at location I<ctid> in child memory when the child "
>"exits, and do a wakeup on the futex at that address.  The address involved "
>"may be changed by the B<set_tid_address>(2)  system call.  This is used by "
>"threading libraries."
>msgstr ""
>"Kind-Thread-ID an der Stelle I<ctid> im Kindspeicher löschen, wenn das Kind "
>"existiert und beim Futex (»fast userspace mutual exclusion«/schneller "
>"gegenseitiger Ausschluss im Userspace) an dieser Adresse aufwachen lassen. "
>"Die betroffene Adresse könnte durch den Systemaufruf B<set_tid_address>(2) "
>"geändert werden. Dies wird von Threading-Libraries benutzt."
Threading-Libraries -> Threading-Bibliotheken

>msgid ""
>"Use of this flag requires: a kernel configured with the B<CONFIG_PID_NS> "
>"option and that the process be privileged (B<CAP_SYS_ADMIN>).  This flag "
>"can't be specified in conjunction with B<CLONE_THREAD>."
>msgstr ""
>"Die Benutzung dieses Schalters setzt einen Kernel voraus, der mit der Option "
>"B<CONFIG_PID_NS> konfiguriert wurde und einen privilegierten Prozess "
>"(B<CAP_SYS_ADMIN>). Dieser Schalter kann nicht zusammen mit B<CLONE_THREAD> "
>"angegeben werden."
Hier klingt der erste Satz für mich merkwürdig. Besser finde ich ein
Verschieben des Wortes
»voraus«, aber das ist wohl Geschmackssache:
"Die Benutzung dieses Schalters setzt einen Kernel, der mit der Option "
"B<CONFIG_PID_NS> konfiguriert wurde und einen privilegierten Prozess "
"(B<CAP_SYS_ADMIN>) voraus."

>msgid ""
>"If B<CLONE_SIGHAND> is not set, the child process inherits a copy of the "
>"signal handlers of the calling process at the time B<clone>()  is called.  "
>"Calls to B<sigaction>(2)  performed later by one of the processes have no "
>"effect on the other process."
>msgstr ""
>"Ist B<CLONE_SIGHAND> nicht gesetzt, erbt der Kindprozess durch den "
>"B<__clone>-Aufruf eine Kopie des Signal-Handlers vom aufrufenden Prozess. "
>"Spätere Aufrufe von B<sigaction>(2) durch einen der Prozesse hat dann keine "
>"Auswirkung auf den anderen Prozess."
B<__clone>-Aufruf -> B<clone>-Aufruf

>msgid ""
>"Note that it is the parent process, as returned by B<getppid>(2), which is "
>"signaled when the child terminates, so that if B<CLONE_PARENT> is set, then "
>"the parent of the calling process, rather than the calling process itself, "
>"will be signaled."
>msgstr ""
>"Beachten Sie, dass dem Elternprozess, wie er von B<getppid>(2) zurückgegeben "
>"wird, signalisiert wird wenn der Kindprozess endet. Wenn also B<CLONE_PARENT> "
>"gesetzt ist, wird dem Elternprozess des aufrufenden Prozesses anstatt dem "
>"aufrufenden Prozess selbst das Signal gesandt wird."
Ein »wird« zuviel: "aufrufenden Prozess selbst das Signal gesandt wird." ->
"aufrufenden Prozess selbst das Signal gesandt."

>msgid ""
>"If B<CLONE_SYSVSEM> is set, then the child and the calling process share a "
>"single list of System V semaphore undo values (see B<semop>(2)).  If this "
>"flag is not set, then the child has a separate undo list, which is initially "
>"empty."
>msgstr ""
>"Wenn B<CLONE_SYSVSEM> gesetzt ist, dann teilen sich der Kindprozess und der "
>"aufrufende Prozess eine einzige Liste von Werten, um System-V-Semaphoren "
>"rückgängig zu machen, die anfänglich leer ist."
Die Übersetzung ist mMn fehlerhaft: Der zweite Satz wurde praktisch ausgelassen.
Mein Vorschlag:
"Wenn B<CLONE_SYSVSEM> gesetzt ist, dann teilen sich der Kindprozess und der "
"aufrufende Prozess eine einzige Liste von Werten, um
System-V-Semaphoren (siehe "
"B<semop>(2)) rückgängig zu machen. Falls dieser Schalter nicht
gesetzt ist, besitzt "
"der Kindprozess eine eigene List zum Rückgängig machen, die
anfänglich leer ist."

>msgid ""
>"A new thread created with B<CLONE_THREAD> has the same parent process as the "
>"caller of B<clone>()  (i.e., like B<CLONE_PARENT>), so that calls to "
>"B<getppid>(2)  return the same value for all of the threads in a thread "
>"group.  When a B<CLONE_THREAD> thread terminates, the thread that created it "
>"using B<clone>()  is not sent a B<SIGCHLD> (or other termination) signal; "
>"nor can the status of such a thread be obtained using B<wait>(2).  (The "
>"thread is said to be I<detached>.)"
>msgstr ""
>"Ein neuer mit B<CLONE_THREAD> erzeugter Thread hat den gleichen Elternprozess "
>"wie der, der B<clone>() aufruft (d.h. wie B<CLONE_PARENT>), so dass Aufrufe "
>"von B<getppid>(2) den gleichen Wert für alle Threads in der Thread-Gruppe "
>"zurückliefern. Wenn ein B<CLONE_THREAD>-Thread endet, wird dem Thread, der "
>"ihn per B<clone>() erstellt hat, weder ein B<SIGCHLD>-Signal (oder ein "
>"anderes Ende) gesandt, noch kann der Status eines solchen Threads per "
>"B<wait>(2) abgefragt werden. (Der Thread wird als I<losgelöst> bezeichnet.)"
Den Klammerzusatz »(oder ein anderes Ende)« finde ich nicht gelungen.
Im Original ist
es ja ein »termination signal«. Daher würde ich ein Endsignal, Ende-Signal,
Termininierungssignal o.ä. bevorzugen.

>msgid ""
>"After all of the threads in a thread group terminate the parent process of "
>"the thread group is sent a B<SIGCHLD> (or other termination) signal."
>msgstr ""
>"Nachdem alle Threads in einer Thread-Gruppe beendet sind, wird dem "
>"Elternprozess ein B<SIGCHLD>-Signal (oder ein anderes Ende) "
>"gesandt."
Ebenso.

>msgid "Both B<CLONE_NEWPID> and B<CLONE_THREAD> were specified in I<flags>."
>msgstr ""
>"In I<schalter> wurden sowohl B<CLONE_NEWIPC> als auch B<CLONE_THREAD> "
>"angegeben."
B<CLONE_NEWIPC> -> B<CLONE_NEWPID>

>msgid ""
>"There is no entry for B<clone>()  in libc5.  glibc2 provides B<clone>()  as "
>"described in this manual page."
>msgstr ""
>"Es gibt in Libc5 keinen B<clone>()-Eintrag. Glibc2 stellt B<clone>(), wie in "
>"der Handbuchseite beschrieben, zur Verfügung."
Libc5 -> libc5, da libs auch klein geschrieben wird.
»der Handbuchseite« -> »dieser Handbuchseite«

>msgid ""
>"On i386, B<clone>()  should not be called through vsyscall, but directly "
>"through I<int $0x80>."
>msgstr ""
>"Auf i386-Architekturen sollte B<clone>() nicht durch vsyscall augerufen "
>"werden, aber direkt durch I<int $0x80>."
augerufen -> aufgerufen

>msgid ""
>"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
>"B<             void *>I<child_stack_base>B<, size_t >I<stack_size>B<,>\n"
>"B<             int >I<flags>B<, void *>I<arg>B<, ... >\n"
>"B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<, pid_t *>I<ctid>B< */ );>\n"
>msgstr ""
>"B<int __clone2(int (*>I<fn>B<)(void *), >\n"
>"B<             void *>I<kind_stack_basis>B<, size_t >I<stack_groesse>B<,>\n"
>"B<             int >I<schalter>B<, void *>I<arg>B<, ... >\n"
>"B<          /* pid_t *>I<ptid>B<, struct user_desc *>I<tls>B<,>\n"
>"B<             pid_t *>I<ctid>B< */ );>\n"
Ich bin mir aufgrund der Zeilenumbrüche nicht ganz sicher, aber fehlt
nach I<tls>B<,
nicht ein Leerzeichen?


Reply to: