Provided by: manpages-fr-dev_4.27.0-1_all bug

NOM

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

BIBLIOTHÈQUE

       Bibliothèque C standard (libc, -lc)

SYNOPSIS

       #include <sys/syscall.h>      /* Définition des constantes SYS_* */
       #include <unistd.h>

       pid_t syscall(SYS_set_tid_address, int *tidptr);

       Note  :  la  glibc  ne  founit  pas  d'enveloppe  pour  set_tid_address(),  nécessitant  l'utilisation de
       syscall(2).

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.

STANDARDS

       Linux.

HISTORIQUE

       Linux 2.5.48.

       Les détails fournis ici sont valables depuis Linux 2.5.49.

VOIR AUSSI

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

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.

Pages du manuel de Linux 6.9.1                     2 mai 2024                                 set_tid_address(2)