SIGPROCMASK(2)

NOM
sigprocmask - Examiner et modifier les signaux bloqués

SYNOPSIS
#include <signal.h>

int sigprocmask(int how, const sigset_t *set, sigset_t *oldset);

DESCRIPTION
sigprocmask() est utilisé pour modifier le masque de signaux, l'ensemble des signaux actuellement bloqués. Le comportement de cet appel est dépendant de la valeur de how, avec les conventions suivantes :

SIG_BLOCK
    L'ensemble des signaux bloqués est l'union de l'ensemble actuel et de l'argument set .

SIG_UNBLOCK
    Les signaux dans l'ensemble set sont supprimés de la liste des signaux bloqués. Il est permis de débloquer un signal non bloqué.

SIG_SETMASK
    L'ensemble des signaux bloqués est égal à l'argument set.

Si oldset est non nul, la valeur précédente du masque de signaux est stockée dans oldset. Si set est NULL, le masque de signaux n'est pas modifié (c'est-à-dire que how est ignoré), mais la valeur actuelle du masque de signaux est néanmoins renvoyée dans oldset (il n'est pas NULL). L'utilisation de sigprocmask() dans un processus multithreadé n'est pas définie ; voir pthread_sigmask(3).

VALEUR RENVOYÉE
sigprocmask() renvoie 0 s'il réussit et -1 s'il échoue.

ERREURS
EINVAL La valeur indiquée dans how n'est pas valide.

CONFORMITÉ
POSIX.1-2001.

NOTES
Il n'est pas possible de bloquer SIGKILL ou SIGSTOP. Les tentatives pour le faire sont silencieusement ignorées.

Si l'un des signaux SIGBUS, SIGFPE, SIGILL ou SIGSEGV est généré pendant qu'il est bloqué, le résultat est indéfini à moins que le signal ait été généré par kill(2), sigqueue(2) ou raise(3).

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

VOIR AUSSI
kill(2), pause(2), sigaction(2), signal(2), sigpending(2), sigqueue(2), sigsuspend(2), pthread_sigmask(3), 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 23 juin 2008.

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=C man 2 sigaction ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.