Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       set_tid_address - definește indicatorul la ID-ul firului de execuție

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

REZUMAT

       #include <sys/syscall.h>      /* Definirea constantelor SYS_* */
       #include <unistd.h>

       pid_t syscall(SYS_set_tid_address, int *tidptr);

       Notă:  glibc  nu  oferă  nicio  funcție  învăluitoare pentru set_tid_address(), fiind necesară utilizarea
       syscall(2).

DESCRIERE

       Pentru fiecare fir, nucleul păstrează două atribute (adrese)  numite  set_child_tid  și  clear_child_tid.
       Aceste două atribute conțin în mod implicit valoarea NULL.

       set_child_tid
              În   cazul   în   care  un  fir  de  execuție  este  inițiat  utilizând  clone(2)  cu  indicatorul
              CLONE_CHILD_SETTID, set_child_tid este definit la valoarea transmisă în argumentul ctid al acestui
              apel de sistem.

              Atunci când set_child_tid este definit, primul lucru pe care îl face noul fir de execuție este  să
              își scrie ID-ul firului de execuție la această adresă.

       clear_child_tid
              Dacă  un  fir  de  execuție  este  inițiat utilizând clone(2) cu indicatorul CLONE_CHILD_CLEARTID,
              clear_child_tid este definit la valoarea transmisă în argumentul ctid al acelui apel de sistem.

       Apelul de sistem set_tid_address() stabilește valoarea clear_child_tid pentru firul apelant la tidptr.

       Atunci când se termină un fir de execuție al cărui clear_child_tid nu este NULL, atunci,  dacă  firul  de
       execuție  împarte  memoria  cu  alte  fire  de  execuție,  atunci  se  scrie  0  la adresa specificată în
       clear_child_tid, iar nucleul efectuează următoarea operație:

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

       Efectul acestei operații este de a trezi un singur fir care efectuează o așteptare „futex” la locația din
       memorie.  Erorile din operația de trezire „futex” sunt ignorate.

VALOAREA RETURNATĂ

       set_tid_address() returnează întotdeauna ID-ul firului de execuție al apelantului.

ERORI

       set_tid_address() reușește întotdeauna.

VERSIUNI

       Acest apel este prezent începând cu Linux 2.5.48.  Detaliile prezentate aici sunt  valabile  începând  cu
       Linux 2.5.49.

STANDARDE

       Acest apel de sistem este specific pentru Linux.

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   creată   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  Nicio
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.03                  30 octombrie 2022                             set_tid_address(2)