SYSV_SIGNAL(3)

NOM
sysv_signal - Gestion des signaux avec la sémantique System V

SYNOPSIS
#define _GNU_SOURCE         /* See feature_test_macros(7) */
#include <signal.h>

typedef void (*sighandler_t)(int);

sighandler_t sysv_signal(int signum, sighandler_t handler);

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

VALEUR RENVOYÉE
La fonction sysv_signal() renvoie le gestionnaire de signaux précédent ou SIG_ERR en cas d'erreur.

ERREURS
Comme pour signal(2).

ATTRIBUTS
Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface | Attribut | Valeur
sysv_signal() | Sécurité des threads | MT-Safe

CONFORMITÉ
Cette fonction n'est pas standard.

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

VOIR AUSSI
sigaction(2), signal(2), bsd_signal(3), signal(7)

COLOPHON
Cette page fait partie de la publication 5.13 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies et la dernière version de cette page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org>, Cédric Boutillier <cedric.boutillier@gmail.com> et Frédéric Hantrais <fhantrais@gmail.com> Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 à debian-l10n-french@lists.debian.org.