.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2004 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH set_tid_address 2 "30 martie 2023" "Pagini de manual de Linux 6.05.01" .SH NUME set_tid_address \- definește indicatorul la ID\-ul firului de execuție .SH BIBLIOTECA Biblioteca C standard (\fIlibc\fP, \fI\-lc\fP) .SH REZUMAT .nf \fB#include \fP /* Definirea constantelor \fBSYS_*\fP */ \fB#include \fP .PP \fBpid_t syscall(SYS_set_tid_address, int *\fP\fItidptr\fP\fB);\fP .fi .PP \fINotă\fP: glibc nu oferă nicio funcție învăluitoare pentru \fBset_tid_address\fP(), fiind necesară utilizarea \fBsyscall\fP(2). .SH DESCRIERE Pentru fiecare fir, nucleul păstrează două atribute (adrese) numite \fIset_child_tid\fP și \fIclear_child_tid\fP. Aceste două atribute conțin în mod implicit valoarea NULL. .TP \fIset_child_tid\fP În cazul în care un fir de execuție este inițiat utilizând \fBclone\fP(2) cu indicatorul \fBCLONE_CHILD_SETTID\fP, \fIset_child_tid\fP este definit la valoarea transmisă în argumentul \fIctid\fP al acestui apel de sistem. .IP Atunci când \fIset_child_tid\fP 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ă. .TP \fIclear_child_tid\fP Dacă un fir de execuție este inițiat utilizând \fBclone\fP(2) cu indicatorul \fBCLONE_CHILD_CLEARTID\fP, \fIclear_child_tid\fP este definit la valoarea transmisă în argumentul \fIctid\fP al acelui apel de sistem. .PP Apelul de sistem \fBset_tid_address\fP() stabilește valoarea \fIclear_child_tid\fP pentru firul apelant la \fItidptr\fP. .PP Atunci când se termină un fir de execuție al cărui \fIclear_child_tid\fP 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 \fIclear_child_tid\fP, iar nucleul efectuează următoarea operație: .PP .in +4n .EX futex(clear_child_tid, FUTEX_WAKE, 1, NULL, NULL, 0); .EE .in .PP 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. .SH "VALOAREA RETURNATĂ" \fBset_tid_address\fP() returnează întotdeauna ID\-ul firului de execuție al apelantului. .SH ERORI\-IEȘIRE \fBset_tid_address\fP() reușește întotdeauna. .SH STANDARDE Linux. .SH ISTORIC Linux 2.5.48. .PP Detaliile prezentate aici sunt valabile începând cu Linux 2.5.49. .SH "CONSULTAȚI ȘI" \fBclone\fP(2), \fBfutex\fP(2), \fBgettid\fP(2) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .