NOM¶
restart_syscall - redémarre un appel système après qu'il a
été interrompu par un signal d'arrêt.
SYNOPSIS¶
int restart_syscall(void);
La glibc ne fournit pas de fonction autour de cet appel système ;
consultez les NOTES.
DESCRIPTION¶
L'appel système
restart_syscall() est utilisé pour
redémarrer certains appels système lorsqu'un processus qui a
été arrêté par un signal (par exemple
SIGSTOP ou
SIGTSTP) est ensuite relancé par un signal
SIGCONT. Cet appel système est exclusivement destiné
à un usage interne par le noyau.
restart_syscall() est utilisé pour redémarrer uniquement
ceux des appels systèmes qui, lorsqu'ils sont redémarrés,
doivent ajuster leurs paramètres temporels, —c'est-à-dire
poll(2) (à partir de Linux 2.6.24),
nanosleep(2)
(à partir de Linux 2.6),
clock_nanosleep(2) (à partir de
Linux 2.6) et
futex(2), lorsqu'ils sont utilisés avec les
opérations
FUTEX_WAIT (à partir de 2.6.22) et
FUTEX_WAIT_BITSET (à partir de Linux 2.6.31).
restart_syscall() redémarre l'appel système interrompu
avec un paramètre de temps ajusté pour prendre en compte le
temps écoulé (comprenant le temps nécessaire à
l'arrêt du processus par le signal). Sans le mécanisme
restart_syscall(), l'estimation du temps écoulé ne
pourrait être correctement effectuée lors du redémarrage
de ces appels système.
VALEUR RENVOYÉE¶
La valeur renvoyée par
restart_syscall() est celle renvoyée
par l'appel système qui est redémarré.
ERREURS¶
errno 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
restart_syscall().
VERSIONS¶
L'appel système
restart_syscall() existe depuis Linux 2.6.
Cet appel système est spécifique à Linux.
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.
Depuis l'espace utilisateur, l'exécution de
restart_syscall(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.
VOIR AUSSI¶
sigaction(2),
sigreturn(2),
signal(7)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».