Provided by: manpages-fr-dev_3.57d1p1-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.57 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> ».