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

NUME

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

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #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-IEȘIRE

       set_tid_address() reușește întotdeauna.

STANDARDE

       Linux.

ISTORIC

       Linux 2.5.48.

       Detaliile prezentate aici sunt valabile începând cu Linux 2.5.49.

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   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.9.1                    2 mai 2024                                 set_tid_address(2)