dwww Home | Manual pages | Find package

sigevent(7)            Miscellaneous Information Manual            sigevent(7)

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'ar-
       rivé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 effec-
       tué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_si-
              gno.

              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 nou-
              veau 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 si-
              gev_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),   getad-
       drinfo_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 Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.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.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot  <david@tilapin.org>,  Cédric  Boutillier  <ce-
       dric.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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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)

Generated by dwww version 1.15 on Sat Jun 29 01:42:16 CEST 2024.