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 ▲

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