RESTART_SYSCALL(2)

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.

CONFORMITÉ
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.70 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 à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».