pthread_exit(3) Library Functions Manual pthread_exit(3) NUME pthread_exit - termina firul apelant BIBLIOTECA Biblioteca de fire de execuie POSIX (libpthread, -lpthread) REZUMAT #include [[noreturn]] void pthread_exit(void *retval); DESCRIERE Funcia pthread_exit() termina firul apelant i returneaza o valoare prin retval care (daca firul poate fi asociat) este disponibila pentru un alt fir din acelai proces care apeleaza pthread_join(3). Orice gestionari de curaare stabilii de pthread_cleanup_push(3) care nu au fost inca extrai, sunt extrai (in ordinea inversa celei in care au fost introdui) i executai. In cazul in care firul de execuie are date specifice firului de execuie, atunci, dupa ce gestionarii de curaare au fost executai, sunt apelate funciile de distrugere corespunzatoare, intr-o ordine nespecificata. Atunci cand un fir de execuie se termina, resursele partajatela nivel de proces (cum ar fi blocari care se exclud reciproc, variabile de condiie, semafoare i descriptori de fiiere) nu sunt eliberate, iar funciile inregistrate folosind atexit(3) nu sunt apelate. Dupa terminarea ultimului fir de execuie dintr-un proces, procesul se termina prin apelarea exit(3) cu o stare de ieire de zero; astfel, resursele partajate de proces sunt eliberate i sunt apelate funciile inregistrate cu ajutorul atexit(3). VALOAREA RETURNATA Aceasta funcie nu returneaza apelantului. ERORI-IEIRE Aceasta funcie reuete intotdeauna. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +--------------------------------------+---------------------+---------+ |Interfaa | Atribut | Valoare | +--------------------------------------+---------------------+---------+ |pthread_exit() | Sigurana firelor | MT-Safe | +--------------------------------------+---------------------+---------+ STANDARDE POSIX.1-2008. ISTORIC POSIX.1-2001. NOTE Efectuarea unei returnari din funcia de pornire a oricarui fir, altul decat firul principal, are ca rezultat un apel implicit la pthread_exit(), utilizand valoarea de returnare a funciei ca stare de ieire a firului. Pentru a permite altor fire de execuie sa continue execuia, firul principal trebuie sa se incheie prin apelarea pthread_exit() mai degraba decat exit(3). Valoarea indicata de retval nu trebuie sa fie localizata pe stiva firului apelant, deoarece coninutul acestei stive este nedefinit dupa terminarea firului. ERORI In prezent, exista limitari in logica de implementare a nucleului pentru wait(2)ing pe un grup de fire oprit cu un lider de grup de fire mort. Acest lucru se poate manifesta in probleme precum un terminal blocat daca un semnal de oprire este trimis unui proces in prim-plan al carui lider de grup de fire a apelat deja pthread_exit(). CONSULTAI I pthread_create(3), pthread_join(3), pthreads(7) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.06 31 octombrie 2023 pthread_exit(3)