Linux

CentOS 5.3

sigsuspend(2)


SIGSUSPEND

NOM

sigsuspend − Attendre un signal.

SYNOPSIS

#include <signal.h>

int sigsuspend(const sigset_t *mask);

DESCRIPTION

sigsuspend() remplace le masque de signaux du processus appelant avec le masque fourni dans mask et suspend le processus jusqu’Ã la livraison d’un signal dont l’action est d’invoquer un gestionnaire de signaux ou de terminer un processus.

Si le signal termine le processus, sigsuspend() ne revient pas. Si le signal est intercepté, sigsuspend() revient après le retour du gestionnaire de signaux, et le masque de signaux est restauré dans l’état où il était avant l’appel à sigsuspend().

Il n’est pas possible de bloquer SIGKILL ou SIGSTOP ; spécifier ces signaux dans specifying these signals in mask, n’a aucun effet sur le masque des signaux du processus.

VALEUR RENVOYÃE

sigsuspend() renvoie toujours −1, normalement avec l’erreur EINTR.

ERREURS

EFAULT

mask pointe sur de la mémoire qui n’est pas une partie valide dans l’espace adressable du processus.

EINTR

L’appel a été interrompu par un signal.

NOTES

Normalement, sigsuspend() est utilisé avec sigprocmask() afin de s’affranchir de la livraison d’un signal pendant l’exécution d’un morceau de code critique. L’appelant bloque d’abord les signaux avec sigprocmask(). Lorsque le code critique est passé, l’appelant attend les signaux par un appel à sigsuspend() avec le masque de signaux qui a été renvoyé par sigprocmask() (dans l’argument oldset).

Voir sigsetops(3) pour les détails sur la manipulation des jeux de signaux.

CONFORMITÃ

POSIX.1-2001.

VOIR AUSSI

kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), signal(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 14 octobre 1996 et révisée le 7 juillet 2006.

L’équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=en man 2 sigaction ». N’hésitez pas à signaler à l’auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.


sigsuspend(2)