NOM¶
sigsuspend - Attendre un signal
SYNOPSIS¶
#include <signal.h>
int sigsuspend(const sigset_t *mask);
Exigences de macros de test de fonctionnalités pour la glibc (consultez
feature_test_macros(7)) :
sigsuspend() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE ||
_POSIX_SOURCE
DESCRIPTION¶
L'appel
sigsuspend() remplace temporairement le masque de signaux
bloqués par celui fourni dans
mask puis endort le processus
jusqu'à arrivée d'un signal qui déclenche un gestionnaire de
signal ou termine le processus.
Si le signal termine le processus,
sigsuspend() ne retourne pas à
l'appelant. Si le signal est intercepté,
sigsuspend() retourne
après l'exécution du gestionnaire, et le masque de signaux
bloqués est restauré à sa valeur précédant l'appel
à
sigsuspend().
Il n'est pas possible de bloquer
SIGKILL ou
SIGSTOP ;
spécifier ces signaux dans
mask n'a aucun effet sur le masque de
signaux du processus.
VALEUR RENVOYÉE¶
sigsuspend() renvoie toujours -1, et
errno est normalement
positionné à
EINTR.
ERREURS¶
- EFAULT
- mask pointe en-dehors de l'espace d'adressage
accessible.
- EINTR
- L'appel a été interrompu par un signal.
POSIX.1-2001.
NOTES¶
En général,
sigsuspend() est utilisé conjointement avec
sigprocmask(2) pour empêcher l'arrivée d'un signal pendant
l'exécution d'une section de code critique. L'appelant commence par
bloquer les signaux avec
sigprocmask(2). Après la fin de la
section critique, l'appelant attend les signaux avec
sigsuspend()
utilisé avec le masque renvoyé par
sigprocmask(2) (dans
l'argument
oldset).
Consultez
sigsetops(3) pour les détails concernant les ensembles de
signaux.
VOIR AUSSI¶
kill(2),
pause(2),
sigaction(2),
signal(2),
sigprocmask(2),
sigwaitinfo(2),
sigsetops(3),
sigwait(3),
signal(7)
COLOPHON¶
Cette page fait partie de la publication 3.44 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/>.
Christophe Blaess <
http://www.blaess.fr/christophe/> (1996-2003), Alain
Portal <
http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et
l'équipe francophone de traduction de Debian (2006-2009).
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> ».