NOM

sigset, sighold, sigrelse, sigignore - API signaux System V

BIBLIOTHÈQUE

Bibliothèque C standard ( libc, -lc)

SYNOPSIS

#include <signal.h>
typedef void (*sighandler_t)(int);
sighandler_t sigset(int sig, sighandler_t disp);
int sighold(int sig);
int sigrelse(int sig);
int sigignore(int sig);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :
sigset(), sighold(), sigrelse(), sigignore() :
    _XOPEN_SOURCE >= 500

DESCRIPTION

Ces fonctions sont fournies dans la glibc comme interface de compatibilité pour les programmes qui utilisent l'API signaux System V historique. Cette API est obsolète, les nouvelles applications devraient utiliser l'API signaux POSIX ( sigaction(2), sigprocmask(2), etc.).
La fonction sigset() modifie le dispositif du signal sig. L'argument disp peut être l'adresse d'une fonction gestionnaire de signaux ou l'une des constantes suivantes :
SIG_DFL
Réinitialiser le dispositif de sig à sa valeur par défaut.
SIG_IGN
Ignorer sig.
SIG_HOLD
Ajouter sig au masque de signaux du processus, mais laisser le dispositif de sig inchangé.
Si disp spécifie l'adresse d'un gestionnaire de signaux, sig est ajouté au masque de signaux du processus pendant l'exécution du gestionnaire.
Si disp a été spécifié à une autre valeur que SIG_HOLD, sig est retiré du masque de signaux du processus.
Les dispositifs pour SIGKILL et SIGSTOP ne peuvent pas être modifiés.
La fonction sighold() ajoute sig au masque de signaux du processus appelant.
La fonction sigrelse() retire sig du masque de signaux du processus appelant.
La fonction sigignore() configure le dispositif de sig à SIG_IGN.

VALEUR RENVOYÉE

Si elle réussit, sigset() renvoie SIG_HOLD si sig était bloqué avant l'appel ou le dispositif précédent du signal s'il n'était pas bloqué avant l'appel. Si elle échoue, sigset() renvoie -1 et écrit errno pour indiquer l'erreur (mais consultez la section des BOGUES ci-dessous).
Les fonctions sighold(), sigrelse() et sigignore() renvoient 0 si elle réussissent et -1 si elles échouent et écrivent errno pour indiquer l'erreur.

ERREURS

Pour sigset(), voir la section ERREURS des pages de manuel sigaction(2) et sigprocmask(2).
Pour sighold() et sigrelse(), voir la section ERREURS de la page de manuel sigprocmask(2).
Pour sigignore(), voir la section ERREURS de la page de manuel sigaction(2).

ATTRIBUTS

Pour une explication des termes utilisés dans cette section, consulter attributes(7).
Interface Attribut Valeur
sigset(), sighold(), sigrelse(), sigignore() Sécurité des threads MT-Safe
 

STANDARDS

SVr4, POSIX.1-2001, POSIX.1-2008. These functions are obsolete: do not use them in new programs. POSIX.1-2008 marks sighold(), sigignore(), sigpause(3), sigrelse(), and sigset() as obsolete, recommending the use of sigaction(2), sigprocmask(2), pthread_sigmask(3), and sigsuspend(2) instead.

NOTES

These functions appeared in glibc 2.1.
Le type sighandler_t est une extension GNU. Il n'est utilisé dans cette page que pour rendre le prototype de sigset() plus lisible.
La fonction sigset() fournit une sémantique de gestion des signaux fiable (comme lorsqu'on appelle sigaction(2) avec sa_mask valant 0).
Sur System V, la fonction signal() fournit une sémantique non fiable (comme lorsqu'on appelle sigaction(2) avec sa_mask valant SA_RESETHAND | SA_NODEFER). Sur BSD, signal() fournit une sémantique fiable. POSIX.1-2001 laisse ces aspects de signal() non spécifiés. Consultez signal(2) pour plus de détails.
Afin d'attendre un signal, BSD et System V fournissent tous les deux une fonction nommée sigpause(3), mais cette fonction n'a pas le même argument sur les deux systèmes. Consultez sigpause(3) pour les détails.

BOGUES

Before glibc 2.2, sigset() did not unblock sig if disp was specified as a value other than SIG_HOLD.
Before glibc 2.5, sigset() does not correctly return the previous disposition of the signal in two cases. First, if disp is specified as SIG_HOLD, then a successful sigset() always returns SIG_HOLD. Instead, it should return the previous disposition of the signal (unless the signal was blocked, in which case SIG_HOLD should be returned). Second, if the signal is currently blocked, then the return value of a successful sigset() should be SIG_HOLD. Instead, the previous disposition of the signal is returned. These problems have been fixed since glibc 2.5.

VOIR AUSSI

kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), raise(3), sigpause(3), sigvec(3), signal(7)

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 <[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]