Provided by: manpages-fr-dev_4.15.0-9_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   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

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

DESCRIPTION

       Ces fonctions sont fournies dans la  glibc  comme  interface  de  compatibilité  pour  les
       programmes  qui  utilisent  l'API signaux System V historique. Cette API est obsolète, 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 être
       l'adresse d'une fonction gestionnaire de signaux ou l'une des constantes suivantes :

       SIG_DFL
              Réinitialiser le dispositif de sig à sa valeur par défaut.

       SIG_IGN
              Ignorer sig.

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

       Si  disp  spécifie  l'adresse  d'un  gestionnaire  de signaux, sig est ajouté au masque de
       signaux du processus pendant l'exécution du gestionnaire.

       Si disp a été spécifié à une autre valeur que  SIG_HOLD,  sig  est  retiré  du  masque  de
       signaux du processus.

       Les dispositifs pour SIGKILL et SIGSTOP ne peuvent pas être modifiés.

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

VALEUR RENVOYÉE

       Si  elle  réussit,  sigset()  renvoie  SIG_HOLD  si  sig  était bloqué avant l'appel ou le
       dispositif précédent du signal s'il n'était pas bloqué  avant  l'appel.  Si  elle  échoue,
       sigset()  renvoie  -1 et écrit errno pour indiquer l'erreur (mais consultez la section des
       BOGUES ci-dessous).

       Les fonctions sighold(), sigrelse() et sigignore() renvoient 0 si elle réussissent  et  -1
       si elles échouent et écrivent 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).

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │sigset(), sighold(), sigrelse(), sigignore()            │ Sécurité des threads │ MT-Safe │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

CONFORMITÉ

       SVr4,  POSIX.1-2001,  POSIX.1-2008.  These  functions are obsolete: do not use them in new
       programs. POSIX.1-2008 marks sighold(), sigignore(), sigpause(3), sigrelse(), and sigset()
       as obsolete, recommending the use of sigaction(2), sigprocmask(2), pthread_sigmask(3), and
       sigsuspend(2)  instead.

NOTES

       Ces fonctions sont apparues dans la glibc version 2.1.

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

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

       Sur System V, la fonction signal() fournit une  sémantique  non  fiable  (comme  lorsqu'on
       appelle  sigaction(2)  avec  sa_mask  valant SA_RESETHAND | SA_NODEFER). Sur BSD, signal()
       fournit une sémantique fiable. POSIX.1-2001 laisse ces aspects de signal() non  spécifiés.
       Consultez signal(2) pour plus de détails.

       Afin  d'attendre  un signal, BSD et System V fournissent tous les deux une fonction nommée
       sigpause(3), mais cette fonction n'a pas le même argument sur les deux systèmes. Consultez
       sigpause(3) pour les détails.

BOGUES

       Dans les versions de la glibc antérieures à la 2.2, sigset() ne débloquait pas sig si disp
       était spécifié à une autre valeur que SIG_HOLD.

       Dans les versions de la glibc antérieures à 2.5, sigset() ne renvoyait pas correctement le
       dispositif  précédent  du  signal  dans  deux  cas.  Le  premier, si disp était spécifié à
       SIG_HOLD, un appel réussi à sigset() renvoyait toujours SIG_HOLD. À la place, elle  aurait
       dû renvoyer le dispositif précédent du signal (à moins que le signal ne fût bloqué, auquel
       cas SIG_HOLD aurait été renvoyé). Le second, si le  signal  est  actuellement  bloqué,  la
       valeur  renvoyée par un appel à sigset() réussi devait renvoyer SIG_HOLD. À la place, elle
       renvoyait le dispositif précédent du signal. Ces  problèmes  ont  été  résolus  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), signal(7)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>,  Cédric  Boutillier
       <cedric.boutillier@gmail.com> et Frédéric Hantrais <fhantrais@gmail.com>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.