Loading

NOM

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

SYNOPSIS

       #define _XOPEN_SOURCE 500
       #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);

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

CONFORMITÉ

       SVr4,  POSIX.1-2001.  Ces fonctions sont obsolètes. Ne les utilisez pas
       dans   de   nouveaux   programmes.   POSIX.1-2008   marque   sighold(),
       sigignore(),  sigpause(), sigrelse() et sigset() comme étant obsolètes,
       en recommandant d’utiliser à  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 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.  Voir
       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. Voir 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ésolu 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.23 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette page de manuel a  été  traduite  par  Alain  Portal  <aportal  AT
       univ-montp2   DOT   fr>   en   2006,   et   mise   à   disposition  sur
       http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».