Loading

NOM

       bsd_signal - Gestion des signaux avec la sémantique BSD

SYNOPSIS

       #define _XOPEN_SOURCE
       #include <signal.h>

       typedef void (*sighandler_t)(int);

       sighandler_t bsd_signal(int signum, sighandler_t handler);

       La fonction bsd_signal() prend les mêmes paramètres et effectue la même
       tâche que signal(2).

       La différence entre les deux est que bsd_signal() garantit  de  fournir
       une sémantique de signal fiable, qui est : a) le signal n’est pas remis
       à sa valeur par défaut lorsque le gestionnaire de signal  est  appelé ;
       b)  les  autres occurrences du signal sont bloquées pendant l’exécution
       du gestionnaire ; c) si le gestionnaire  interrompt  un  appel  système
       bloquant,  alors  l’appel  système  est  automatiquement redémarré. Une
       application portable ne peut pas se baser sur  signal(2)  pour  fournir
       ces garanties.

VALEUR RENVOYÉE

       La  fonction bsd_signal renvoie la valeur précédente du gestionnaire de
       signal ou SIG_ERR lors d’une erreur.

ERREURS

       Comme pour signal(2).

CONFORMITÉ

       BSD 4.2,  POSIX.1-2001.  POSIX.1-2008  supprime  la  spécification   de
       bsd_signal() et recommande à la place l’utilisation de sigaction(2).

NOTES

       L’utilisation  de bsd_signal() est à éviter, utilisez sigaction(2) à la
       place.

       Sur  des  systèmes  Linux  modernes,  bsd_signal()  et  signal(2)  sont
       équivalents.  Cependant,  sur  de vieux systèmes, signal(2) fournit une
       sémantique de signal non fiable ;  consultez  signal(2)  pour  plus  de
       détails.

       Le  type  sighandler_t est une extension GNU ; ce type n’est défini que
       si la macro de test de fonctionnalités _GNU_SOURCE est définie.

VOIR AUSSI

       sigaction(2),   signal(2),   sysv_signal(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  et  est  maintenue  par  Florentin
       Duneau <fduneau AT gmail DOT com> 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> ».

                                 15 mars 2009