Provided by: manpages-fr_3.57d1p1-1_all bug

NOM

       sigevent - Structure de notification des routines asynchrones

SYNOPSIS

       union sigval {          /* Données transmises avec la notification */
           int     sival_int;         /* Valeur entière */
           void   *sival_ptr;         /* Valeur du pointeur */
       };

       struct sigevent {
           int          sigev_notify; /* Méthode de notification */
           int          sigev_signo;  /* Signal de notification */
           union sigval sigev_value;  /* Données transmises avec
                                         la notification */
           void       (*sigev_notify_function) (union sigval);
                            /* Fonction utilisée pour la notification
                               du thread (SIGEV_THREAD) */
           void        *sigev_notify_attributes;
                            /* Attributs pour la notification
                               du thread (SIGEV_THREAD) */
           pid_t        sigev_notify_thread_id;
                            /* Identifiant du thread à signaler (SIGEV_THREAD_ID) */
       };

DESCRIPTION

       La  structure  de  sigevent est utilisée par différentes API pour décrire la façon dont un
       processus sera averti d'un  évènement  (par  exemple  la  fin  d'une  requête  asynchrone,
       l'expiration d'une temporisation ou l'arrivée d'un message).

       La  définition  du  SYNOPSIS  est approximative : certains champs de la structure sigevent
       peuvent être définis comme  faisant  partie  d'une  union.  Les  programmes  ne  devraient
       utiliser ces champs qu'en fonction de la valeur indiquée dans sigev_notify.

       Le  champ  sigev_notify indique comment les notifications seront effectuées. Ce champ peut
       prendre une des valeurs suivantes :

       SIGEV_NONE
               Une notification « vide » : ne fait rien quand l'évènement se produit.

       SIGEV_SIGNAL
               Notifie le processus en envoyant le signal indiqué en sigev_signo.

               Si le signal est intercepté avec un gestionnaire de signal qui  a  été  enregistré
               avec l'option SA_SIGINFO de sigaction(2), les champs suivants sont définis dans la
               structure  siginfo_t  qui  est  transmise  en  tant  que  deuxième   argument   au
               gestionnaire :

               si_code   La valeur de ce champ dépend de l'API qui transmet la notification.

               si_signo  Le  numéro du signal est attribué à ce champ (par exemple la même valeur
                         que dans sigev_signo).

               si_value  La valeur indiquée dans sigev_value est attribuée à ce champ.

               En fonction de l'API, d'autres champs  peuvent  être  définis  dans  la  structure
               siginfo_t.

               Les  mêmes  renseignements  sont  aussi disponibles si le signal permet d'utiliser
               sigwaitinfo(2).

       SIGEV_THREAD
               Notifie  le  processus  par  l'appel  de  sigev_notify_function   « comme   s'il »
               s'agissait  de  la  fonction  de  démarrage  d'un nouveau thread (il y a plusieurs
               possibilités d'implémentation, dont la création d'un nouveau  thread  pour  chaque
               notification  de minuterie, ou la création d'un unique thread pour la réception de
               toutes les notifications). La fonction est appelée avec sigev_value  comme  unique
               paramètre.  Si  sigev_notify_attributes  n'est  pas NULL, il doit pointer vers une
               structure pthread_attr_t qui définie les paramètres pour le nouveau  thread  (voir
               pthread_attr_init(3)).

       SIGEV_THREAD_ID (spécifique à Linux)
               Seulement  utilisée  par  les  temporisations  POSIX  pour  le  moment,  consultez
               timer_create(2).

CONFORMITÉ

       POSIX.1-2001.

VOIR AUSSI

       timer_create(2), aio_fsync(3), aio_read(3), aio_write(3), getaddrinfo_a(3), lio_listio(3),
       mq_notify(3), aio(7), pthreads(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> ».