sysv_signal - Gestion des signaux avec la sémantique System V
Bibliothèque C standard (
libc,
-lc)
#define _GNU_SOURCE /* Consultez feature_test_macros(7) */
#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t sysv_signal(int signum, sighandler_t handler);
La fonction
sysv_signal() prend les mêmes paramètres et
effectue la même tâche que
signal(2).
Cependant
sysv_signal() fournit la sémantique de gestion des
signaux non sûrs de System V, c'est-à-dire : a)
les caractéristiques des signaux sont remises aux valeur par
défaut quand le gestionnaire est appelé ; b) la
distribution des instances suivantes du signal n'est pas bloquée quand
le gestionnaire de signal est exécuté ; et c) SI le
gestionnaire interrompt (certains) appels système bloquants, alors
l'appel système n'est pas redémarré automatiquement.
La fonction
sysv_signal() renvoie le gestionnaire de signaux
précédent ou
SIG_ERR en cas d'erreur.
Comme pour
signal(2).
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
sysv_signal() |
Sécurité des threads |
MT-Safe |
Cette fonction n'est pas standard.
L'utilisation de
sysv_signal() est à éviter ;
utilisez plutôt
sigaction(2).
Sur les systèmes Linux plus anciens,
sysv_signal() et
signal(2) étaient équivalents. Mais sur les
systèmes plus récents,
signal(2) fournit la
sémantique pour les signaux sûrs ; 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.
sigaction(2),
signal(2),
bsd_signal(3),
signal(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]>,
Cédric Boutillier <
[email protected]> et
Frédéric Hantrais <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]