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

NOM

       sigwaitinfo, sigtimedwait - Attente synchrone de signaux

SYNOPSIS

       #include <signal.h>

       int sigwaitinfo(const sigset_t *set, siginfo_t *info);

       int sigtimedwait(const sigset_t *set, siginfo_t *info,
                        const struct timespec *timeout);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       sigwaitinfo(), sigtimedwait() : _POSIX_C_SOURCE >= 199309L

DESCRIPTION

       sigwaitinfo() suspend l'execution du thread  appelant  jusqu'a  ce  que
       l'un  des  signaux de l'ensemble set soit recu. (Si l'un des signaux de
       l'ensemble  set  est  deja  en  attente  pour   le   thread   appelant,
       sigwaitinfo() revient immediatement avec les informations concernant le
       signal).

       sigwaitinfo() retire le signal de l'ensemble des signaux en attente, et
       renvoie  le numero du signal comme valeur de retour. Si l'argument info
       n'est pas NULL, alors  il  sera  rempli  avec  une  structure  du  type
       siginfo_t   (consultez   sigaction(2))   contenant   les   informations
       concernant le signal.

       Les  signaux  recus  via  sigwaitinfo()  sont  delivres  dans   l'ordre
       habituel, consultez signal(7) pour plus de details.

       sigtimedwait()  opere  exactement  comme  sigwaitinfo()  mais elle a un
       argument supplementaire,  timeout,  qui  permet  de  fixer  une  limite
       maximale  au  temps pendant lequel le thread est suspendu. Cet argument
       est du type :

           struct timespec {
               long    tv_sec;         /* secondes */
               long    tv_nsec;        /* nanosecondes */
           }

       Si les deux champs de cette structure sont nuls, sigtimedwait() revient
       tout  de  suite,  soit  avec  des  informations  sur  un signal deja en
       attente, soit avec une  erreur  si  aucun  signaux  de  l'ensemble  set
       n'etaient disponibles.

VALEUR RENVOY'EE

       S'ils  reussissent  sigwaitinfo() et sigtimedwait() renvoient un numero
       de signal (une valeur superieure a zero). S'ils echouent, ils renvoient
       -1, et errno contient le code d'erreur.

ERREURS

       EAGAIN Aucun  signal de l'ensemble set n'a ete recu avant expiration du
              delai timeout indique pour sigtimedwait().

       EINTR  L'appel  a  ete  interrompu  par  un  gestionnaire  de  signal ;
              consultez  signal(7).  (Un  signal  autre que ceux presents dans
              l'ensemble set.)

       EINVAL timeout etait invalide.

CONFORMIT'E

       POSIX.1-2001.

NOTES

       En utilisation habituelle, l'appelant bloque les signaux de  l'ensemble
       set  au  prealable avec un appel sigprocmask(2) (afin que la delivrance
       des signaux ne se produise pas en dehors de  l'appel  sigwaitinfo()  ou
       sigtimedwait())  et  n'installe  pas  de gestionnaire pour ces signaux.
       Dans un programme multithreade, le signal doit etre  bloque  dans  tous
       les  threads  pour  empecher  que  le signal ne soit delivre a un autre
       thread que celui executant sigwaitinfo() ou sigtimedwait().

       L'ensemble des signaux qui sont en attente pour une  thread  donne  est
       l'union  de  l'ensemble  des  signaux specifiquement en attente pour ce
       thread et de l'ensemble  des  signaux  en  attente  pour  le  processus
       lui-meme (consultez signal(7)).

       Si  plusieurs threads d'un processus sont bloques dans sigwaitinfo() or
       sigtimedwait() en attente du ou des memes signaux, un seul des  threads
       recevra  reellement  le  signal  s'il est fourni au processus (dans son
       ensemble) ; on ne peut pas savoir quel thread recevra le signal.

       POSIX ne specifie pas le comportement si une valeur NULL  est  indiquee
       pour  l'argument  timeout  de  sigtimedwait(),  permettant  par exemple
       d'avoir le meme comportement que celui de sigwaitinfo(), ce qui est  le
       cas sous Linux.

       Sous  Linux, sigwaitinfo() est une fonction de bibliotheque implementee
       au dessus de sigtimedwait().

VOIR AUSSI

       kill(2),   sigaction(2),   signal(2),    signalfd(2),    sigpending(2),
       sigprocmask(2),   sigqueue(2),   sigsetops(3),  sigwait(3),  signal(7),
       time(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> >>.