Provided by: manpages-fr_3.65d1p1-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.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> ».