.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH pthread_join 3 "31 octombrie 2023" "Pagini de manual de Linux 6.06" .SH NUME pthread_join \- se unește cu un fir terminat .SH BIBLIOTECA Biblioteca de fire de execuție POSIX (\fIlibpthread\fP, \fI\-lpthread\fP) .SH REZUMAT .nf \fB#include \fP .P \fBint pthread_join(pthread_t \fP\fIthread\fP\fB, void **\fP\fIretval\fP\fB);\fP .fi .SH DESCRIERE Funcția \fBpthread_join\fP() așteaptă ca firul specificat de \fIthread\fP să se încheie. În cazul în care firul respectiv s\-a încheiat deja, atunci \fBpthread_join\fP() returnează imediat. Firul specificat de \fIthread\fP trebuie să poată fi asociat. .P Dacă \fIretval\fP nu este NULL, atunci \fBpthread_join\fP() copiază starea de ieșire a firului țintă (adică valoarea pe care firul țintă a furnizat\-o lui \fBpthread_exit\fP(3)) în locația indicată de \fIretval\fP. În cazul în care firul țintă a fost anulat, atunci \fBPTHREAD_CANCELED\fP este plasat în locația indicată de \fIretval\fP. .P În cazul în care mai multe fire de execuție încearcă simultan să se unească cu același fir de execuție, rezultatele sunt nedefinite. În cazul în care firul care apelează \fBpthread_join\fP() este anulat, atunci firul țintă va continua să poată fi unit (adică nu va fi detașat). .SH "VALOAREA RETURNATĂ" În caz de succes, \fBpthread_join\fP() returnează 0; în caz de eroare, returnează un număr de eroare. .SH ERORI\-IEȘIRE .TP \fBEDEADLK\fP .\" The following verified by testing on glibc 2.8/NPTL: .\" The following verified by testing on glibc 2.8/NPTL: A fost detectat un impas (de exemplu, două fire de execuție au încercat să se unească una cu cealaltă); sau \fIthread\fP specifică firul de execuție apelant. .TP \fBEINVAL\fP \fIthread\fP nu este un fir de execuție care poate fi atașat. .TP \fBEINVAL\fP .\" POSIX.1-2001 does not specify this error case. Un alt fir de execuție așteaptă deja să se unească cu acest fir. .TP \fBESRCH\fP Nu a putut fi găsit niciun fir de execuție cu identificatorul \fIthread\fP. .SH ATRIBUTE Pentru o explicație a termenilor folosiți în această secțiune, a se vedea \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Interfață Atribut Valoare T{ .na .nh \fBpthread_join\fP() T} Siguranța firelor MT\-Safe .TE .SH STANDARDE POSIX.1\-2008. .SH ISTORIC POSIX.1\-2001. .SH NOTE După un apel reușit la \fBpthread_join\fP(), apelantului i se garantează că firul țintă s\-a încheiat. Apelantul poate alege apoi să efectueze orice operațiune de curățare necesară după terminarea firului (de exemplu, eliberarea memoriei sau a altor resurse care au fost alocate firului țintă). .P Alăturarea cu un fir care a fost alăturat anterior are ca rezultat un comportament nedefinit. .P Dacă nu se reușește o îmbinare cu un fir care poate fi îmbinat (adică unul care nu este detașat), se produce un „fir zombi”. Evitați să faceți acest lucru, deoarece fiecare fir zombi consumă anumite resurse de sistem, iar atunci când se vor acumula suficiente fire zombi, nu va mai fi posibilă crearea de noi fire (sau procese). .P Nu există un analog «pthreads» al \fIwaitpid(\-1,\ &status,\ 0)\fP, adică „unirea cu orice fir terminat”. Dacă credeți că aveți nevoie de această funcționalitate, probabil că trebuie să vă regândiți proiectarea aplicației. .P Toate firele de execuție dintr\-un proces sunt similare: orice fir de execuție se poate alătura oricărui alt fir de execuție din proces. .SH EXEMPLE A se vedea \fBpthread_create\fP(3). .SH "CONSULTAȚI ȘI" \fBpthread_cancel\fP(3), \fBpthread_create\fP(3), \fBpthread_detach\fP(3), \fBpthread_exit\fP(3), \fBpthread_tryjoin_np\fP(3), \fBpthreads\fP(7) .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 .