SIGPENDING(2) Manuel du programmeur Linux SIGPENDING(2)

sigpending, rt_sigpending - Examiner les signaux en attente

#include <signal.h>
int sigpending(sigset_t *set);
Exigences de macros de test de fonctionnalités pour la glibc (consulter feature_test_macros(7)) :

sigpending(2) :


_POSIX_C_SOURCE

L'appel sigpending() permet l'examen des signaux en attente (qui se sont déclenchés en étant bloqués). Le masque de signaux en attente est stocké dans set.

sigpending() renvoie 0 s'il réussit. S'il échoue, -1 est renvoyé et errno est positionné pour indiquer l'erreur.

set pointe en-dehors de l'espace d'adressage accessible.

POSIX.1-2001, POSIX.1-2008.

Consultez sigsetops(3) pour les détails concernant les ensembles de signaux.

Si le signal est bloqué et que son dispositif est dans l'état "ignoré", il n'est pas ajouté au masque des signaux en attente lors de sa génération.

L'ensemble des signaux qui sont en attente pour un thread est l'union de l'ensemble des signaux qui sont en attente pour ce thread et de l'ensemble des signaux qui sont en attente pour le processus lui-même ; consultez signal(7).

Un enfant créé avec fork(2) débute avec un ensemble de signaux en attente vide. L'ensemble de signaux en attente est conservé au travers d'un execve(2).

L'appel système Linux d'origine s'appelait sigpending(). Toutefois, avec l'arrivée des signaux en temps réel dans Linux 2.2 et de la taille figée, le type sigset_t 32 bits pris en charge par cet appel système ne convenait plus à cet objectif. Par conséquent, un nouvel appel système rt_sigpending(), a été ajouté pour prendre en charge le type sigset_t élargi. Le nouvel appel système prend un quatrième paramètre, size_t sigsetsize, qui indique la taille en octets des jeux de signal dans act.sa_mask et oldact.sa_mask. Ce paramètre est actuellement nécessaire pour obtenir la valeur sizeof(sigset_t) (ou le résultat de l'erreur EINVAL). La fonction enveloppe sigpending() de la glibc nous cache ces détails en appelant de manière transparente rt_sigpending() quand le noyau le fournit.

En raison d'un bogue dans la fonction enveloppe de sigpending() des versions de glibc jusqu'à 2.2.1 incluse, l'information concernant les signaux temps‐réel n'était pas renvoyée correctement.

kill(2), sigaction(2), signal(2), sigprocmask(2), sigsuspend(2), sigsetops(3), signal(7)

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

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>, Frédéric Hantrais <fhantrais@gmail.com> et Jean-Philippe MENGUAL <jpmengual@debian.org>

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 à debian-l10n-french@lists.debian.org.

22 mars 2021 Linux