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 (voir
feature_test_macros(7)) :
sigsuspend() : _POSIX_C_SOURCE >= 1 || _XOPEN_SOURCE || _POSIX_SOURCE
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.
CONFORMITÉ
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).
Voir 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.23 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
Cette page de manuel a été traduite et mise à jour par Christophe
Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
disposition sur http://manpagesfr.free.fr/.
Les mises à jour et corrections de la version présente dans Debian sont
directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
francophone de traduction de Debian.
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> ».