Provided by: manpages-fr_4.21.0-2_all bug

NOM

       sigevent - Structure de notification des routines asynchrones

SYNOPSIS

       #include <signal.h>

       union sigval {            /* Data passed with notification */
           int     sival_int;    /* Integer value */
           void   *sival_ptr;    /* Pointer value */
       };

       struct sigevent {
           int    sigev_notify;  /* Notification method */
           int    sigev_signo;   /* Notification signal */
           union sigval sigev_value;
                                 /* Data passed with notification */
           void (*sigev_notify_function)(union sigval);
                                 /* Function used for thread
                                    notification (SIGEV_THREAD) */
           void  *sigev_notify_attributes;
                                 /* Attributes for notification thread
                                    (SIGEV_THREAD) */
           pid_t  sigev_notify_thread_id;
                                 /* ID of thread to signal
                                    (SIGEV_THREAD_ID); Linux-specific */
       };

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

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)

TRADUCTION

       La   traduction   française   de   cette   page   de   manuel   a   été   créée   par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,   Stéphan   Rafin   <stephan.rafin@laposte.net>,   Thierry   Vignaud
       <tvignaud@mandriva.com>,  François  Micaux,  Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard
       <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-luc.coulon@wanadoo.fr>,   Julien   Cristau
       <jcristau@debian.org>,      Thomas      Huriaux      <thomas.huriaux@gmail.com>,     Nicolas     François
       <nicolas.francois@centraliens.net>,    Florentin    Duneau    <fduneau@gmail.com>,     Simon     Paillard
       <simon.paillard@resel.enst-bretagne.fr>,     Denis    Barbier    <barbier@debian.org>,    David    Prévot
       <david@tilapin.org>,   Cédric   Boutillier    <cedric.boutillier@gmail.com>    et    Frédéric    Hantrais
       <fhantrais@gmail.com>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General Public License
       version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel,  veuillez  envoyer  un  message  à
       debian-l10n-french@lists.debian.org.

Pages du manuel de Linux 6.03                    30 octobre 2022                                     sigevent(7)