.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2013 by Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 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 "21 décembre 2020" Linux "Manuel du programmeur Linux" .SH NOM restart_syscall \- Redémarrer un appel système après qu'il a été interrompu par un signal d'arrêt .SH SYNOPSIS \fBlong restart_syscall(void);\fP .PP \fINote\fP\ : il n'existe pas d'enveloppe pour cet appel système dans la glibc\ ; voir NOTES. .SH DESCRIPTION L'appel système \fBrestart_syscall\fP() est utilisé pour redémarrer certains appels système lorsqu'un processus qui a été arrêté par un signal (par exemple \fBSIGSTOP\fP ou \fBSIGTSTP\fP) est ensuite relancé par un signal \fBSIGCONT\fP. Cet appel système est exclusivement destiné à un usage interne par le noyau. .PP .\" 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() est utilisé pour redémarrer uniquement les appels système qui, lorsqu'ils sont redémarrés, doivent ajuster leurs paramètres temporels \(em\ c'est\-à\-dire \fBpoll\fP(2) (à partir de Linux 2.6.24), \fBnanosleep\fP(2) (à partir de Linux 2.6), \fBclock_nanosleep\fP(2) (à partir de Linux 2.6) et \fBfutex\fP(2), lorsqu'il est utilisé avec les opérations \fBFUTEX_WAIT\fP (à partir de 2.6.22) et \fBFUTEX_WAIT_BITSET\fP (à partir de Linux 2.6.31). \fBrestart_syscall\fP() redémarre l'appel système interrompu avec un paramètre de temps ajusté pour prendre en compte le temps écoulé (comprenant le temps d’arrêt du processus par le signal). Sans le mécanisme \fBrestart_syscall\fP(), l'estimation du temps écoulé pourrait ne pas être correctement effectuée lors du redémarrage de ces appels système. .SH "VALEUR RENVOYÉE" La valeur renvoyée par \fBrestart_syscall\fP() est celle renvoyée par l'appel système qui est redémarré. .SH ERREURS \fIerrno\fP est défini selon l'erreur avec la même valeur que celle définie par l'appel système qui est redémarré par \fBrestart_syscall\fP(). .SH VERSIONS L'appel système \fBrestart_syscall\fP() existe depuis Linux 2.6. .SH CONFORMITÉ Cet appel système est spécifique à Linux. .SH NOTES Il n'y a pas d'enrobage glibc pour cet appel système puisqu'il ne doit être appelé que par le noyau et jamais par une application. .PP Le noyau utilise \fBrestart_syscall\fP() pour s'assurer que quand un appel redémarre après que le processus ait été arrêté par un signal puis réveillé par un \fBSIGCONT\fP, le temps que le processus a passé arrêté soit pris en compte dans l'intervalle du délai indiqué dans l'appel système d'origine. Pour les appels système qui prennent un paramètre de délai et redémarrent automatiquement après un signal d'arrêt et un \fBSIGCONT\fP, sans avoir construit le mécanisme \fBrestart_syscall\fP(), après la reprise de l'exécution du processus, le temps passé à l'arrêt par le processus \fIn'est pas\fP pris en compte dans la valeur de délai. Parmi les exemples remarquables d'appels système souffrant de ce problème, on trouve \fBppoll\fP(2), \fBselect\fP(2) et \fBpselect\fP(2). .PP Depuis l'espace utilisateur, l'exécution de \fBrestart_syscall\fP(2) est pratiquement transparente\ : du point de vue du processus auteur de l'appel système qui est redémarré, tout se passe comme si l'appel système s'exécutait et se relançait de façon habituelle. .SH "VOIR AUSSI" .\" 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. \fBsigaction\fP(2), \fBsigreturn\fP(2), \fBsignal\fP(7) .SH COLOPHON Cette page fait partie de la publication\ 5.10 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse \%https://www.kernel.org/doc/man\-pages/. .PP .SH TRADUCTION La traduction française de cette page de manuel a été créée par Christophe Blaess , Stéphan Rafin , Thierry Vignaud , François Micaux, Alain Portal , Jean-Philippe Guérard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas François , Florentin Duneau , Simon Paillard , Denis Barbier , David Prévot , Cédric Boutillier , Frédéric Hantrais et Jean-Philippe MENGUAL . .PP Cette traduction est une documentation libre ; veuillez vous reporter à la .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License version 3 .UE concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE. .PP Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à .MT debian-l10n-french@lists.debian.org .ME .