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