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

NOM

       sigset, sighold, sigrelse, sigignore - API signaux System V

SYNOPSIS

       #include <signal.h>

       typedef void (*sighandler_t)(int);

       sighandler_t sigset(int sig, sighandler_t disp);

       int sighold(int sig);

       int sigrelse(int sig);

       int sigignore(int sig);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       sigset(), sighold(), sigrelse(), sigignore() :
           _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

DESCRIPTION

       Ces  fonctions  sont  fournies  dans  la  glibc  comme   interface   de
       compatibilite  pour les programmes qui utilisent l'API signaux System V
       historique.  Cette  API  est  obsolete,  les   nouvelles   applications
       devraient  utiliser  l'API signaux POSIX (sigaction(2), sigprocmask(2),
       etc.).

       La fonction sigset() modifie le dispositif du  signal  sig.  L'argument
       disp  peut  etre  l'adresse  d'une  fonction gestionnaire de signaux ou
       l'une des constantes suivantes :

       SIG_DFL
              Reinitialiser le dispositif de sig a sa valeur par defaut.

       SIG_IGN
              Ignorer sig.

       SIG_HOLD
              Ajouter sig au masque de signaux du processus, mais  laisser  le
              dispositif de sig inchange.

       Si disp specifie l'adresse d'un gestionnaire de signaux, sig est ajoute
       au masque de signaux du processus pendant l'execution du gestionnaire.

       Si disp a ete specifie a une autre valeur que SIG_HOLD, sig est  retire
       du masque de signaux du processus.

       Les dispositifs pour SIGKILL et SIGSTOP ne peuvent pas etre modifies.

       La  fonction  sighold()  ajoute  sig  au masque de signaux du processus
       appelant.

       La fonction sigrelse() retire sig du masque  de  signaux  du  processus
       appelant.

       La fonction sigignore() configure le dispositif de sig a SIG_IGN.

VALEUR RENVOY'EE

       Si  elle  reussit,  sigset() renvoie SIG_HOLD si sig etait bloque avant
       l'appel ou le dispositif precedent du signal s'il  n'etait  pas  bloque
       avant  l'appel. Si elle echoue, sigset() renvoie -1 et ecrit errno pour
       indiquer l'erreur (mais consultez la section des BOGUES ci-dessous).

       Les fonctions sighold(), sigrelse() et sigignore() renvoient 0 si  elle
       reussissent  et  -1  si  elles echouent et ecrivent errno pour indiquer
       l'erreur.

ERREURS

       Pour sigset(), voir la section ERREURS des pages de manuel sigaction(2)
       et sigprocmask(2).

       Pour  sighold()  et  sigrelse(),  voir la section ERREURS de la page de
       manuel sigprocmask(2).

       Pour sigignore(),  voir  la  section  ERREURS  de  la  page  de  manuel
       sigaction(2).

CONFORMIT'E

       SVr4,  POSIX.1-2001.  Ces fonctions sont obsoletes. Ne les utilisez pas
       dans   de   nouveaux   programmes.   POSIX.1-2008   marque   sighold(),
       sigignore(),  sigpause(), sigrelse() et sigset() comme etant obsoletes,
       en recommandant d'utiliser a  la  place  sigaction(2),  sigprocmask(2),
       pthread_sigmask(3) et sigsuspend(2).

NOTES

       Ces fonctions sont apparues dans la glibc version 2.1.

       Le type sighandler_t est une extension GNU. Il n'est utilise dans cette
       page que pour rendre le prototype de sigset() plus lisible.

       La fonction sigset() fournit une  semantique  de  gestion  des  signaux
       fiable (comme lorsqu'on appelle sigaction(2) avec sa_mask valant 0).

       Sur  System V,  la  fonction signal() fournit une semantique non fiable
       (comme lorsqu'on appelle sigaction(2) avec sa_mask valant  SA_RESETHAND
       |  SA_NODEFER).  Sur  BSD,  signal()  fournit  une  semantique  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.

BOGUES

       Dans  les  versions  de  la  glibc  anterieures  a  la 2.2, sigset() ne
       debloquait pas sig si disp  etait  specifie  a  une  autre  valeur  que
       SIG_HOLD.

       Dans  les versions de la glibc anterieures a 2.5, sigset() ne renvoyait
       pas correctement le dispositif precedent du signal dans  deux  cas.  Le
       premier,  si disp etait specifie a SIG_HOLD, un appel reussi a sigset()
       renvoyait toujours SIG_HOLD. A la place, elle  aurait  du  renvoyer  le
       dispositif  precedent  du  signal (a moins que le signal ne fut bloque,
       auquel cas SIG_HOLD aurait ete renvoye). Le second, si  le  signal  est
       actuellement  bloque, la valeur renvoyee par un appel a sigset() reussi
       devait renvoyer SIG_HOLD. A la  place,  elle  renvoyait  le  dispositif
       precedent  du  signal.  Ces problemes ont ete resolus depuis la version
       2.5 de la glibc.

VOIR AUSSI

       kill(2), pause(2), sigaction(2), signal(2),  sigprocmask(2),  raise(3),
       sigpause(3), sigvec(3), feature_test_macros(7), 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> >>.