.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2013 by Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" http://thread.gmane.org/gmane.linux.kernel/76552/focus=76803 .\" From: Linus Torvalds transmeta.com> .\" Subject: Re: [PATCH] compatibility syscall layer (lets try again) .\" Newsgroups: gmane.linux.kernel .\" Date: 2002-12-05 02:51:12 GMT .\" .\" See also Section 11.3.3 of Understanding the Linux Kernel, 3rd edition .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH restart_syscall 2 "2. Mai 2024" "Linux man\-pages 6.9.1" .SH BEZEICHNUNG restart_syscall \- Neustart eines Systemaufrufs nach einer Unterbrechung durch ein Stopp\-Signal .SH ÜBERSICHT .nf \fBlong restart_syscall(void);\fP .fi .P \fIHinweis:\fP Es gibt keinen Glibc\-Wrapper für diesen Systemaufruf; siehe ANMERKUNGEN. .SH BESCHREIBUNG Der Systemaufruf \fBrestart_syscall\fP() wird zum Neustart bestimmter Systemaufrufe verwandt, nachdem ein Prozess, der durch ein Stopp\-Signal (z.B. \fBSIGSTOP\fP oder \fBSIGTSTP\fP) gestoppt wurde später nach Empfang eines Signals \fBSIGCONT\fP wiederaufgenommen wird. Dieser Systemaufruf ist nur zur Kernel\-internen Verwendung entwickelt worden. .P .\" These system calls correspond to the special internal errno value .\" ERESTART_RESTARTBLOCK. Each of the system calls has a "restart" .\" helper function that is invoked by restart_syscall(). .\" Notable (as at Linux 3.17) is that poll() has such a "restart" .\" function, but ppoll(), select(), and pselect() do not. .\" This means that the latter system calls do not take account of the .\" time spent in the stopped state when restarting. \fBrestart_syscall\fP() wird nur zum Neustart solcher Systemaufrufe verwandt, die beim Neustart ihre Zeit\-bezogenen Parameter anpassen sollen \[en] konkret \fBpoll\fP(2) (seit Linux 2.6.24), \fBnanosleep\fP(2) (seit Linux 2.6), \fBclock_nanosleep\fP(2) (seit Linux 2.6) und \fBfutex\fP(2), wenn mit den Aktionen \fBFUTEX_WAIT\fP (seit Linux 2.6.22) und \fBFUTEX_WAIT_BITSET\fP (seit Linux 2.6.31) eingesetzt. \fBrestart_syscall\fP() startet die unterbrochenen Systemaufrufe mit einem Zeitargument neu, das geeignet angepasst ist, um die Zeit zu berücksichtigen, die bereits abgelaufen ist (einschließlich der Zeit, die der Prozess durch ein Signal unterbrochen war). Ohne den Mechanismus \fBrestart_syscall\fP() würde der Neustart dieser Systemaufrufe die bereits abgelaufene Zeit nicht korrekt ableiten, wenn der Prozess mit der Ausführung fortfahren würde. .SH RÜCKGABEWERT Der Rückgabewert von \fBrestart_syscall\fP() ist der Rückgabewert des jeweiligen neugestarteten Systemaufrufs. .SH FEHLER \fIerrno\fP wird gemäß des Fehlers des jeweils durch \fBrestart_syscall\fP() neugestarten Systemaufrufs gesetzt. .SH STANDARDS Linux. .SH GESCHICHTE Linux 2.6. .SH ANMERKUNGEN Für diesen Systemaufruf gibt es keinen Glibc\-Wrapper, da er nur zur Verwendung durch den Kernel gedacht ist und niemals von Anwendungen aufgerufen werden sollte. .P Der Kernel verwendet \fBrestart_syscall\fP() um sicherzustellen, dass die Zeit, die der Prozess in dem gestoppten Zustand verbrachte, gegen das im ursprünglichen Systemaufruf festgelegte Zeitüberschreitungsintervall zählt, wenn ein Systemaufruf neu gestartet wird, nachdem ein Prozess durch ein Signal gestoppt und dann durch \fBSIGCONT\fP wiederaufgenommen wurde. Für Systemaufrufe, die ein Zeitüberschreitungsargument akzeptieren und sich automatisch nach einem Stopp\-Signal mit \fBSIGCONT\fP neu starten, bei denen aber der Mechanismus \fBrestart_syscall\fP() nicht eingebaut ist, wird nach Wiederaufnahme der Prozessausführung die Zeit, die der Prozess in dem Stoppzustand verbrachte, \fInicht\fP gegen den Zeitüberschreitungswert gezählt. Bekannte Beispiele für Systemaufrufe, die unter diesem Problem leiden, sind \fBppoll\fP(2), \fBselect\fP(2) und \fBpselect\fP(2). .P Aus dem Anwendungsraum ist die Aktion von \fBrestart_syscall\fP() größtenteils unsichtbar: gegenüber dem Prozess, der den neuzustartenden Systemaufruf durchführte, erscheint es so, als ob der Systemaufruf ganz normal ausgeführt wurde und zurückkehrte. .SH "SIEHE AUCH" \fBsigaction\fP(2), \fBsigreturn\fP(2), \fBsignal\fP(7) .\" FIXME . ppoll(2), select(2), and pselect(2) .\" should probably get the restart_syscall() treatment: .\" If a select() call is suspended by stop-sig+SIGCONT, the time .\" spent suspended is *not* deducted when the select() is restarted. .\" FIXME . check whether recvmmsg() handles stop-sig+SIGCONT properly. .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .