1. NOM▲
bsd_signal - Gestion des signaux avec la sémantique BSD
2. SYNOPSIS ▲
#define _XOPEN_SOURCE /* Consultez feature_test_macros(7) */
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t bsd_signal(int signum, sighandler_t handler);
3. DESCRIPTION ▲
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.
4. VALEUR RENVOYÉE ▲
La fonction bsd_signal renvoie la valeur précédente du gestionnaire de signal ou SIG_ERR lors d'une erreur.
5. ERREURS ▲
Comme pour signal(2).
6. 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).
7. 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.
8. VOIR AUSSI ▲
sigaction(2), signal(2), sysv_signal(3), signal(7)
9. COLOPHON ▲
Cette page fait partie de la publication 3.52 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/.
10. TRADUCTION ▲
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.
Florentin Duneau et l'équipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en écrivant à <>.
Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».