Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
sigvec, sigblock, sigsetmask, siggetmask, sigmask - API signaux BSD
SYNOPSIS
#include <signal.h>
int sigvec(int sig, struct sigvec *vec, struct sigvec *ovec);
int sigmask(int signum);
int sigblock(int mask);
int sigsetmask(int mask);
int siggetmask(void);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
Toutes les fonctions ci-dessus : _BSD_SOURCE
DESCRIPTION
Ces fonctions sont fournies dans la glibc comme interface de
compatibilite pour les programmes qui utilisent l'API signaux BSD
historique. Cette API est obsolete, les nouvelles applications
devraient utiliser l'API signaux POSIX (sigaction(2), sigprocmask(2),
etc.).
La fonction sigvec() configure et/ou recupere le dispositif du signal
sig (comme l'appel POSIX sigaction(2)). Si vec n'est pas NULL, il
pointe sur une structure sigvec qui definit le nouveau dispositif pour
sig. Si ovec n'est pas NULL, il pointe sur une structure sigvec qui est
utilisee pour renvoyer le dispositif precedent de sig. Pour obtenir le
dispositif courant de sig sans le modifier, vous devez specifier NULL
pour vec, et un pointeur non NULL pour ovec.
Les dispositifs pour SIGKILL et SIGSTOP ne peuvent pas etre modifies.
La structure sigvec a la forme suivante :
struct sigvec {
void (*sv_handler)(); /* Dispositif du signal*/
int sv_mask; /* Signaux a bloquer dans le gestionnaire */
int sv_flags; /* Drapeaux */
};
Le champ sv_handler specifie le dispositif du signal et est soit
l'adresse de la fonction gestionnaire de signal, soit SIG_DFL
signifiant que le dispositif par defaut s'applique au signal, soit
SIG_IGN signifiant que le signal est ignore.
Si sv_handler specifie l'adresse d'un gestionnaire de signal, sv_mask
specifie un masque de signaux qui seront bloques pendant que le
gestionnaire s'execute. De plus, le signal pour lequel le gestionnaire
est appele est egalement bloque par defaut. Toute tentative de bloquer
SIGKILL ou SIGSTOP est silencieusement ignoree.
Si sv_handler specifie l'adresse d'un gestionnaire de signal, le champ
sv_flags specifie des attributs controlant ce qui se passe lorsque le
gestionnaire est appele. Ce champ peut contenir zero ou plus des
attributs suivants :
SV_INTERRUPT
Si le gestionnaire de signaux interrompt un appel systeme
bloquant, l'appel systeme ne sera pas relance au retour du
gestionnaire. A la place, il echouera avec l'erreur EINTR. Si
cet attribut n'est pas specifie, les appels systeme sont
relances par defaut.
SV_RESETHAND
Reinitialiser le dispositif du signal a sa valeur par defaut
avant d'appeler le gestionnaire de signaux. Si cet attribut
n'est pas specifie, le gestionnaire reste positionne jusqu'a ce
qu'il soit explicitement supprime par un appel ulterieur a
sigvec() ou jusqu'a ce que le processus effectue un execve(2).
SV_ONSTACK
Gere le signal sur la pile de signaux specifique (historiquement
positionne sous BSD avec la fonction obsolete sigstack() ; la
fonction POSIX qui la remplace est sigaltstack(2)).
La fonction sigmask() construit et renvoie un masque de signaux pour
signum. Par exemple, on peut initialiser le champ vec.sv_mask passe a
sigvec() avec un code tel que le suivant :
vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);
/* Bloquer SIGQUIT et SIGABRT pendant
l'execution du gestionnaire */
La fonction sigblock() ajoute les signaux de mask au masque de signaux
du processus (comme l'appel POSIX sigprocmask(SIG_BLOCK)), et renvoie
le masque de signaux precedent du processus. Toute tentative de bloquer
SIGKILL ou SIGSTOP est silencieusement ignoree.
La fonction sigsetmask() configure le masque de signaux du processus a
la valeur donnee dans mask (comme l'appel POSIX
sigprocmask(SIG_SETMASK)), et renvoie le masque de signaux precedent du
processus.
La fonction siggetmask() renvoie le masque de signaux courant du
processus. Cet appel est equivalent a sigblock(0).
VALEUR RENVOY'EE
Si elle reussit, la fonction sigvec() renvoie 0. Si elle echoue, elle
renvoie -1 et ecrit errno pour indiquer l'erreur.
Les fonctions sigblock() et sigsetmask() renvoient le masque de signaux
precedent.
La fonction sigmask() renvoie le masque de signaux pour signum.
ERREURS
Consultez la section ERREURS des pages de manuel sigaction(2) et
sigprocmask(2).
CONFORMIT'E
Toutes ces fonctions etaient dans BSD 4.3, excepte siggetmask(), dont
l'origine n'est pas claire. Ces fonctions sont obsoletes. Ne les
utilisez pas dans de nouveaux programmes.
NOTES
Sur BSD 4.3, la fonction signal() fournit une semantique fiable (comme
lorsqu'on appelle sigvec() avec vec.sv_mask valant 0). Sur System V, la
fonction signal() fournit une semantique non fiable. POSIX.1-2001
laisse ces aspects de signal() non specifies. Consultez signal(2) pour
plus de details.
Afin d'attendre un signal, BSD et System V fournissent tous les deux
une fonction nommee sigpause(3), mais cette fonction n'a pas le meme
argument sur les deux systemes. Consultez sigpause(3) pour les details.
VOIR AUSSI
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), raise(3),
sigpause(3), sigset(3), signal(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Alain Portal <URL:http://manpagesfr.free.fr/> (2006). Nicolas Francois
et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.