Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
sigqueue, rt_sigqueueinfo - Enregistrer un signal et des donnees pour
un processus
SYNOPSIS
#include <signal.h>
int sigqueue(pid_t pid, int sig, const union sigval valeur);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
sigqueue() : _POSIX_C_SOURCE >= 199309L
DESCRIPTION
sigqueue() envoie le signal sig au processus indique par pid. Les
permissions requises pour l'emission du signal sont les memes que pour
kill(2). Comme avec kill(2), le signal nul (0) peut servir a verifier
si un processus existe avec un PID donne.
L'argument valeur sert a indiquer une donnee (soit un entier, soit un
pointeur) qui accompagnera le signal et se presente avec le type
suivant :
union sigval {
int sival_int;
void *sival_ptr;
};
Si le processus recepteur a installe un gestionnaire pour le signal
avec l'option SA_SIGINFO lors du sigaction(2), il pourra obtenir la
donnee dans le champ si_value de la structure siginfo_t passee en
second argument au gestionnaire. De plus, le champ si_code de la
structure contiendra SI_QUEUE.
VALEUR RENVOY'EE
L'appel sigqueue() renvoie 0 s'il reussit, indiquant que le signal a
bien ete mis dans la file du processus recepteur. Sinon il renvoie -1
et errno contient le code de l'erreur.
ERREURS
EAGAIN La limite du nombre de signaux en file a ete atteinte.
(Consultez signal(7) pour plus d'informations).
EINVAL sig est invalide.
EPERM Le processus n'a pas la permission d'envoyer un signal au
processus vise. Pour les permissions necessaires, consultez
kill(2).
ESRCH Il n'y a pas de processus correspondant au pid.
VERSIONS
Cet appel systeme est apparu dans Linux 2.2.
CONFORMIT'E
POSIX.1-2001.
NOTES
Si l'appel consiste a envoyer un signal au processus qui l'a invoque,
et si le signal n'est pas bloque par le thread appelant, et si aucun
autre thread ne peut traiter le signal (soit en l'ayant debloque, ou en
faisant une attente avec sigwait(3)), alors au moins quelques signaux
seront delivres au thread appelant avant que la fonction ne revienne.
Sous Linux, l'appel systeme sous-jacent est en fait appele
rt_sigqueueinfo() et son troisieme parametre differe, puisqu'il
correspond a la structure siginfo_t qui sera fournie au gestionnaire de
signal du processus recevant le signal ou qui sera revoyee par l'appel
sigtimedwait(2) du processus recevant le signal. Dans la fonction
sigqueue() de la glibc, ce parametre info est initialise de cette
facon :
info.si_signo = sig; /* parametre fourni a sigqueue() */
info.si_code = SI_QUEUE;
info.si_pid = getpid(); /* identifiant du processus emetteur */
info.si_uid = getuid(); /* UID reel de l'emetteur */
info.si_value = val; /* parametre fourni a sigqueue() */
VOIR AUSSI
kill(2), sigaction(2), signal(2), sigwait(3), signal(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.