sigset(3) Library Functions Manual sigset(3) NOM sigset, sighold, sigrelse, sigignore - API signaux System V BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include typedef void (*sighandler_t)(int); [[deprecated]] sighandler_t sigset(int sig, sighandler_t disp); [[obsolete]] int sighold(int sig); [[obsolete]] int sigrelse(int sig); [[obsolete]] int sigignore(int sig); Exigences de macros de test de fonctionnalites 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 compatibilite pour les programmes qui utilisent l'API signaux System V historique. Cette API est obsolete, 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 etre l'adresse d'une fonction gestionnaire de signaux ou l'une des constantes suivantes : SIG_DFL Reinitialiser le dispositif de sig a sa valeur par defaut. SIG_IGN Ignorer sig. SIG_HOLD Ajouter sig au masque de signaux du processus, mais laisser le dispositif de sig inchange. Si disp specifie l'adresse d'un gestionnaire de signaux, sig est ajoute au masque de signaux du processus pendant l'execution du gestionnaire. Si disp a ete specifie a une autre valeur que SIG_HOLD, sig est retire du masque de signaux du processus. Les dispositifs pour SIGKILL et SIGSTOP ne peuvent pas etre modifies. 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 a SIG_IGN. VALEUR RENVOYEE Si elle reussit, sigset() renvoie SIG_HOLD si sig etait bloque avant l'appel ou le dispositif precedent du signal s'il n'etait pas bloque avant l'appel. Si elle echoue, sigset() renvoie -1 et ecrit errno pour indiquer l'erreur (mais consultez la section des BOGUES ci-dessous). Les fonctions sighold(), sigrelse() et sigignore() renvoient 0 si elle reussissent et -1 si elles echouent et ecrivent 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 utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |sigset(), sighold(), sigrelse(), | Securite des threads | MT-Safe | |sigignore() | | | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. sighandler_t GNU. POSIX.1 utilise le meme type mais sans typedef. HISTORIQUE glibc 2.1. SVr4, POSIX.1-2001, POSIX.1-2008 marque ces fonctions obsoletes en recommandant d'utiliser a la place sigaction(2), sigprocmask(2), pthread_sigmask(3) et sigsuspend(2). NOTES La fonction sigset() fournit une semantique de gestion des signaux fiable (comme lorsqu'on appelle sigaction(2) avec sa_mask valant 0). Sur System V, la fonction signal() fournit une semantique non fiable (comme lorsqu'on appelle sigaction(2) avec sa_mask valant SA_RESETHAND | SA_NODEFER). Sur BSD, signal() fournit une semantique fiable. POSIX.1-2001 laisse ces aspects de signal() non specifies. Consultez signal(2) pour plus de details. Afin d'attendre un signal, BSD et System V fournissent tous les deux une fonction nommee sigpause(3), mais cette fonction n'a pas le meme argument sur les deux systemes. Consultez sigpause(3) pour les details. BOGUES Avant la glibc 2.2, sigset() ne debloquait pas sig si disp etait specifie a une autre valeur que SIG_HOLD. Avant la glibc 2.5, sigset() ne renvoyait pas correctement le dispositif precedent du signal dans deux cas. Le premier, si disp etait specifie a SIG_HOLD, un appel reussi a sigset() renvoyait toujours SIG_HOLD. A la place, elle aurait du renvoyer le dispositif precedent du signal (a moins que le signal ne fut bloque, auquel cas SIG_HOLD aurait ete renvoye). Le second, si le signal est actuellement bloque, la valeur renvoyee par un appel a sigset() reussi devait renvoyer SIG_HOLD. A la place, elle renvoyait le dispositif precedent du signal. Ces problemes ont ete resolus depuis la glibc\[u00A0]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 francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot , Cedric Boutillier et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.9.1 2 mai 2024 sigset(3)