Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       rt_sigqueueinfo,  rt_tgsigqueueinfo  -  Mettre  un  signal  et  des  données dans la file d'attente  d'un
       processus

SYNOPSIS

       int rt_sigqueueinfo(pid_t tgid, int sig, siginfo_t *uinfo);

       int rt_tgsigqueueinfo(pid_t tgid, pid_t tid, int sig,
                             siginfo_t *uinfo);

       La glibc ne fournit pas de fonction autour de ces appels système ; consultez les NOTES.

DESCRIPTION

       Les appels système rt_sigqueueinfo() et rt_tgsigqueueinfo() sont les interfaces de bas  niveau  utilisées
       pour  envoyer  un signal accompagné de données à un processus ou à un thread. Le récepteur du signal peut
       obtenir les données associées en établissant un gestionnaire de signal à l'aide de l'attribut  SA_SIGINFO
       de sigaction(2).

       Ces  appels  système  ne  sont  pas  destinés  à être utilisés directement par une application ; ils sont
       fournis pour permettre l'implémentation de sigqueue(3) et pthread_sigqueue(3).

       L'appel système rt_sigqueueinfo() envoie le signal sig au groupe de threads dont l'identifiant est  tgid.
       (Le  terme  « groupe  de  threads »  est  synonyme de « processus », et tid correspond à l'identifiant de
       processus UNIX traditionnel.) Le signal sera délivré à un membre  arbitraire  de  ce  groupe  de  threads
       (c.-à-d. un des threads qui n'est pas en train de bloquer le signal).

       Le  paramètre uinfo spécifie les données devant accompagnant le signal. Ce paramètre est un pointeur vers
       une structure de type siginfo_t, décrite  dans  sigaction(2)  (et  définie  en  incluant  <sigaction.h>).
       L'appelant doit positionner dans cette structure les champs suivants :

       si_code
              Ceci  doit  être un des codes SI_* du fichier source du noyau Linux include/asm-generic/siginfo.h,
              avec la restriction que le code doit être strictement négatif (c.-à-d. qu'il ne peut être  égal  à
              SI_USER,  qui  est utilisé par le noyau pour indiquer un signal envoyé par kill(2)) et ne peut pas
              (depuis Linux 2.6.39) être égal à SI_TKILL (qui est utilisé par le noyau pour  indiqué  un  signal
              envoyé en utilisant tgkill(2)).

       si_pid Ceci doit être égal à l'identifiant d'un processus, typiquement celui du processus émetteur.

       si_uid Ceci  doit  être égal à l'identifiant d'un utilisateur, typiquement l'identifiant utilisateur réel
              de l'émetteur.

       si_value
              Ce champ contien les données utilisateur pour accompagner le  signal.  Pour  plus  d'informations,
              consultez la description du dernier argument (union_sigval) de sigqueue(3).

       De  manière interne, le noyau positionne le champ si_signo à la valeur indiquée dans sig, de sorte que le
       récepteur du signal puisse aussi obtenir le numéro du signal via ce champ.

       L'appel système rt_tgsigqueueinfo() fonctionne comme rt_sigqueueinfo(), mais n'envoie le  signal  et  les
       données  qu'à l'unique thread indiqué par la combinaison de tgid, un identifiant de groupe de threads, et
       tid, un thread dans ce groupe.

VALEUR RENVOYÉE

       En cas du succès, ces appels système  renvoient  zéro.  Dans  le  cas  contraire,  ils  renvoient  -1  et
       remplissent errno avec le code d'erreur.

ERREURS

       EAGAIN La  limite  du  nombre  de  signaux  en  file  a  été  atteinte  (consultez  signal(7)  pour  plus
              d'informations).

       EINVAL sig, tgid, or tid n'est pas valable.

       EPERM  Le processus n'a pas la permission d'envoyer un signal au processus  visé.  Pour  les  permissions
              nécessaires, consultez kill(2). Ou bien uinfo->si_code n'est pas valable.

       ESRCH  rt_sigqueueinfo() : aucun groupe de threads correspondant à tgid n'a été trouvé.
              rt_tgsigqueinfo() : aucun thread correspondant à tgid et tid n'a été trouvé.

VERSIONS

       L'appel   système   rt_sigqueueinfo()  a  été  ajouté  à  Linux  dans  la  version 2.2.  L'appel  système
       rt_tgsigqueueinfo() a été ajouté à Linux dans la version 2.6.31.

CONFORMITÉ

       Ces appels système sont spécifiques à Linux.

NOTES

       Comme ces appels système ne sont pas destinés à être utilisés par une  application,  il  n'existe  aucune
       fonction  d'encapsulation  glibc ;  utiliser  syscall(2)  dans  le  cas peu probable où vous voudriez les
       appeler directement.

       Comme pour kill(2), le signal nul (0) peut être utilisé pour  vérifier  si  le  processus  ou  le  thread
       indiqué existe.

VOIR AUSSI

       kill(2), sigaction(2), sigprocmask(2), tgkill(2), pthread_sigqueue(3), sigqueue(3), signal(7)

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions    pour    signaler    des    anomalies    peuvent     être     trouvées     à     l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Veuillez signaler toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org>  ou  par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».