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  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.