Provided by: manpages-fr-dev_4.26.0-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <signal.h>

       typedef void (*sighandler_t)(int);

       [[deprecated]] sighandler_t sigset(int sig, sighandler_t disp);

       [[obsolète]] int sighold(int sig);
       [[obsolète]] int sigrelse(int sig);
       [[obsolète]] 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 │
       └──────────────────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       POSIX.1-2008.

       sighandler_t
              GNU. POSIX.1 utilise le même type mais sans typedef.

HISTORIQUE

       glibc 2.1. SVr4, POSIX.1-2001, POSIX.1-2008 marque ces fonctions obsolètes en recommandant  d'utiliser  à
       la place sigaction(2), sigprocmask(2), pthread_sigmask(3) et sigsuspend(2).

NOTES

       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

       Avant  la  glibc 2.2,  sigset()  ne  débloquait  pas  sig  si  disp était spécifié à une autre valeur que
       SIG_HOLD.

       Avant la glibc 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 glibc\~2.5.

VOIR AUSSI

       kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), raise(3), sigpause(3), sigvec(3), signal(7)

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  Jean-Pierre  Giraud  <jean-
       pierregiraud@neuf.fr>

       Cette traduction est une documentation libre ; veuillez vous  reporter  à  la  GNU General Public License
       version 3 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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                          sigset(3)