Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       set_tid_address - Positionner un pointeur vers un identifiant de thread (TID)

SYNOPSIS

       #include <linux/unistd.h>

       pid_t set_tid_address(int *tidptr);

       Note : il n'existe pas d'enveloppe pour cet appel système dans la glibc ; voir NOTES.

DESCRIPTION

       Pour chaque thread, Le noyau maintient deux attributs (adresses) nommés set_child_tid et clear_child_tid.
       Ces deux attributs contiennent la valeur NULL par défaut.

       set_child_tid
              Si  un  thread est démarré en utilisant clone(2) avec l'attribut CLONE_CHILD_SETTID, set_child_tid
              est définie à la valeur passée à l'argument ctid de cet appel système.

              Lorsque set_child_tid est remplie, la toute première chose que le nouveau thread fait est d'écrire
              son ID de thread à cette adresse.

       clear_child_tid
              Si  un  thread  est  démarré  en  utilisant   clone(2)   avec   l'attribut   CLONE_CHILD_CLEARTID,
              clear_child_tid est définie à la valeur passée à l'argument ctid de cet appel système.

       L'appel système set_tid_address() remplit la valeur clear_child_tid pour le thread appelant à tidptr.

       Lorsqu'un  thread  dont  clear_child_tid  n'est  pas  NULL  se termine, alors, si le thread partage de la
       mémoire avec d'autres threads, 0 est écrit à l'adresse indiquée dans clear_child_tid et le noyau  réalise
       l'opération suivante :

           futex(clear_child_tid, FUTEX_WAKE, 1, NULL, NULL, 0);

       L'effet  de  cette  opération  est  de  réveiller  un  simple  thread  qui  réalise  une  attente futex à
       l'emplacement de la mémoire. Les erreurs de l'opération de réveil du futex sont ignorées.

VALEUR RENVOYÉE

       set_tid_address() renvoie toujours l'identifiant du thread appelant.

ERREURS

       set_tid_address() réussit toujours.

VERSIONS

       Cet appel est présent depuis Linux 2.5.48. Les détails fournis ici sont valides depuis Linux 2.5.49.

CONFORMITÉ

       Cet appel système est spécifique à Linux.

NOTES

       La glibc ne fournit pas de fonction autour de cet appel système ; appelez-le avec syscall(2).

VOIR AUSSI

       clone(2), futex(2), gettid(2)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description du projet et des
       instructions pour signaler des anomalies et la dernière version de cette page  peuvent  être  trouvées  à
       l'adresse https://www.kernel.org/doc/man-pages/.

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> et Jean-Philippe MENGUAL <jpmengual@debian.org>

       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.

Linux                                           21 décembre 2020                              SET_TID_ADDRESS(2)