Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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