Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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> >>.